給定的序列號我需要生成指定逃數日期值(從GETDATE開始,由1 increaed)如何生成日期在SQL Server
SlNr Date
1 3/7/2013
2 ?
3 ?
4 ?
5 ?
6 ?
7 ?
8 3/14/2013
. ?
. ?
如何寫SQL查詢。請幫忙
給定的序列號我需要生成指定逃數日期值(從GETDATE開始,由1 increaed)如何生成日期在SQL Server
SlNr Date
1 3/7/2013
2 ?
3 ?
4 ?
5 ?
6 ?
7 ?
8 3/14/2013
. ?
. ?
如何寫SQL查詢。請幫忙
看看DATEADD()
函數here。
SELECT SlNr, DATEADD(DAY, SlNr, GETDATE()) FROM yourTable
試試這個:
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
子句,以獲得更多的dates.You可以使用Insert into
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()
函數。
您可以使用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;
是什麼加1到'DATETIME'是什麼意思? – Oded 2013-03-07 11:04:21