【发布时间】:2016-04-21 22:09:02
【问题描述】:
很久以前,我使用 SQL 创建了一个表,其中包含 Day、Month、Year、Weekday、Date 和 Period(例如:2016 年 4 月)。 这是我当前表格的样子:
| Period | Day | Month | Year | Weekday | Date |
|:-----------|-----|-------|------|---------|----------:|
| April 2016 | 21 | April |2016 |Thursday |2016-04-21 |
现在我需要添加 Week(这是当月的第 1 周、第 2 周、...)。
这个选择语句给出了正确的结果:
SELECT datediff(week, dateadd(week, datediff(week, 0, dateadd(month, datediff(month, 0, GETDATE()), 0)), 0), GETDATE() - 1) + 1
此查询返回
4
如何将一个名为 Week 的新列插入到这个现有表中并让它找到当前的周数?
我相信现有表正在使用GETDATE() 来计算其值。不幸的是,我没有 CREATE 查询了。
非常感谢任何帮助!
【问题讨论】:
-
Unfortunately I do not have my CREATE query anymore.使用SQL Server Management Studio,右击表生成创建脚本 -
是右键单击> 脚本表为> 创建到> 新查询编辑器窗口?如果是这样,那只会创建列但不会设置它们的计算值:(
标签: sql sql-server alter-table getdate