2016-04-11 5 views
-2

Ich habe eine Tabelle mit Spalte [Load date] und ich möchte eine Spalte [Updated Date] mit Mon-Fri hinzufügen Daten wie [Load Date], aber Sun-Sat als Mon Daten von [Load Date] ..... wie kann ich das in SQL Server tun?Ich habe eine Tabelle mit der Spalte [Ladedatum] und ich möchte eine Spalte hinzufügen [Aktualisiert Datum] .... in SQL Server

+1

Was haben Sie bisher versucht? –

+0

Was meinst du mit Mo-Fr und Sun-San? ist [Ladedatum] ist Varchar mit "Sun-Sat"? oder es ist ein Datetime-Feldtyp? Sie sollten einige Beispieldaten sowie das, was Sie bereits versucht haben, bereitstellen. – FLICKER

+0

Beispiel: LoadDate-Aktualisierungsdatum –

Antwort

0
CREATE TABLE table3 
( 
orderdate datetime 
) 


CREATE FUNCTION dbo.getupdateddate(@orderdate datetime) 
RETURNS datetime 
AS 
BEGIN 
declare @updateddate datetime 
    if datepart(weekday,@orderdate) in (1,2,3,4,5) 
    set @[email protected]; 
    else 
    select top 1 @updateddate= orderdate from table3 
where datepart  (weekday,@orderdate) =2 
    order by orderdate desc 
    return @updateddate 

END 

ALTER TABLE table3 
ADD updateddate AS dbo.getupdateddate(orderdate) 

select @@DATEFIRST--7 
insert into table3 
(orderdate) 
select getdate() 

select * from table3 


    orderdate     updateddate 
2016-04-12 00:29:14.343 2016-04-12 00:29:14.343 

Ein paar Punkte zu beachten:
1.Set DATEFIRST gibt den ersten Tag der Woche. Der US-Englisch-Standard ist 7, Sonntag.
2.Sie möchten vielleicht hinzufügen ist null, wenn es keine Tage mit Montag gibt

Verwandte Themen