指定されたシリアル番号の日付値を生成する必要があります (getdate から開始して 1 ずつ増やします)
SlNr Date
1 3/7/2013
2 ?
3 ?
4 ?
5 ?
6 ?
7 ?
8 3/14/2013
. ?
. ?
SQLクエリの書き方. 助けてください
指定されたシリアル番号の日付値を生成する必要があります (getdate から開始して 1 ずつ増やします)
SlNr Date
1 3/7/2013
2 ?
3 ?
4 ?
5 ?
6 ?
7 ?
8 3/14/2013
. ?
. ?
SQLクエリの書き方. 助けてください
これを試して :
with cte as
(select 1 Sno, convert(date,GETDATE(),103) mydate
union all
select Sno+1,DATEADD(dd,1,mydate) from cte where Sno<=10)
select * from cte
WHERE
句を変更して、より多くの日付を取得します。 Insert into
beforeを使用select
して、データをテーブルに挿入できます。
表示された結果を取得するには:
declare @firstdate date = '20130307' --Your first date in yyyymmdd format
select slnr, dateadd(day, (slnr-1), @firstdate) [date]
from yourTable
order by slnr
を使用するgetdate()
と、結果は毎日異なります。それが必要な場合は、単にreplace @firstdate with getdate()
機能します。
ここDATEADD()
で関数を見てください。
SELECT SlNr, DATEADD(DAY, SlNr, GETDATE()) FROM yourTable
あなたが使用することができROW_NUMBER
ますDATEADD
WITH cte
AS (SELECT slnr,
date,
RN = Row_number()
OVER(
ORDER BY slnr)
FROM dates)
UPDATE cte
SET date = Dateadd(dd, cte.RN - 1, GETDATE())
WHERE date IS NULL;