2016-04-11 11 views
-2

私はテーブルを持っていて、私はMon-Friで[Updated Date]の列を追加したいと思います[Load Date]と同じデータですが、月データとしてSun-Satの[Load Date] .....というようにSQL Serverでどのように行うことができますか?注意すべき私は[[日付を読み込む]列のテーブルがあり、[更新日]の列を追加します。

+1

これまでに何を試みましたか? –

+0

月 - 金とサンサンはどういう意味ですか? [読み込み日]は「Sun-Sat」を含むvarcharですか?それともdatetimeフィールド型ですか?すでに試したことだけでなく、いくつかのサンプルデータを提供することをお勧めします。 – 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.SET DATEFIRST週の最初の曜日を指定します。米国英語のデフォルトは7日曜日です。
月曜日がない場合はnullを追加する可能性があります

関連する問題