我必须在我的 SQL Server 2008 中创建一个新表,并将我的日期列设置为从 Getdate()
开始自动递增 1 天。
第一个条目应使用当前日期插入,第二个条目应使用明天的日期,第三个条目应使用明天的日期,依此类推。
而且我还想知道是否有任何方法可以使用更新命令手动执行此操作,它将今天的日期放在第 1 列,明天放在第 2 列。
最佳答案
无论您究竟需要做什么,此函数都允许您进行日期递增。
http://technet.microsoft.com/en-us/library/ms186819.aspx
生成 future 某一天的日期示例:
SELECT DATEADD(dd,1,GETDATE());
**
1) 如果您需要在插入的每一行中生成一个递增的日期,您当然可以使用触发器并在那个时候进行更新。
Similar question with example of using trigger to do a row update
2) 如果您需要生成多行数据并填充表格,您可以执行 INSERT 操作,然后进行更新以生成日期。对您的表结构一无所知,也许这样的事情会起作用:
UPDATE T
SET T.date_col =
(
SELECT
TOP(1) DATEADD(dd,1,date_col)
FROM myTable
WHERE
ID = T.ID - 1
)
FROM myTable T
WHERE
T.date_col IS NULL;
关于sql-server - 自动递增 SQL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22330552/