2016-04-11 25 views
-2

我有一個表[Load date]列,我想添加一列[Updated Date]週一至週五數據與[Load Date]相同,但Sun-Sat作爲星期一的數據[Load Date] .....我怎麼能在SQL Server中做到這一點?我有一個表列[加載日期],我想添加一列[更新日期] ....在SQL Server

+1

您嘗試過目前爲止做了什麼? –

+0

你是什麼意思的週一至週五和孫三?是[Load date]是包含「Sun-Sat」的varchar?或者它是一個日期時間字段類型?您最好提供一些示例數據以及您已經嘗試過的內容。 – FLICKER

+0

示例:LoadDate更新日期 –

回答

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 

幾點要注意:
1.設置DATEFIRST指定一週的第一天。美國英語默認爲7,星期日。
2.如果週一沒有日子,您可能需要添加空值

相關問題