包含日期、日期、月、年、期间、周号的SQL表?(SQL)
很久以前,我使用SQL创建了一个表,该表有天、月、年、工作日、日期和期间(例如:2016年4月)。 这是我当前表格的外观:包含日期、日期、月、年、期间、周号的SQL表?(SQL),sql,sql-server,alter-table,getdate,Sql,Sql Server,Alter Table,Getdate,很久以前,我使用SQL创建了一个表,该表有天、月、年、工作日、日期和期间(例如:2016年4月)。 这是我当前表格的外观: | Period | Day | Month | Year | Weekday | Date | |:-----------|-----|-------|------|---------|----------:| | April 2016 | 21 | April |2016 |Thursday |2016-04-21 | 现在我需要添加周(这是当月
| Period | Day | Month | Year | Weekday | Date |
|:-----------|-----|-------|------|---------|----------:|
| April 2016 | 21 | April |2016 |Thursday |2016-04-21 |
现在我需要添加周(这是当月的第1周、第2周,…)
此select语句给出了正确的结果:
选择datediff(week,dateadd)(week,datediff(week,0,dateadd)(month,datediff(month,0,GETDATE()),0),GETDATE()-1)+1
此查询返回
4
如何将名为Week的新列插入现有表中,并让其查找当前周数
我相信现有表正在使用GETDATE()
计算其值。不幸的是,我没有我的CREATE查询了
非常感谢您的帮助 首先使用
ALTER TABLE
ALTER TABLE TableName
ADD Week int
然后更新带有周数的列:
UPDATE TableName
SET Week = DATEPART(day, DATEDIFF(day, 0, [Date])/7 * 7)/7 + 1
注意:此周
编号仅基于天数,而不是一周中的几天(星期一、星期二)等。首先使用更改表为周
添加一列
ALTER TABLE TableName
ADD Week int
然后更新带有周数的列:
UPDATE TableName
SET Week = DATEPART(day, DATEDIFF(day, 0, [Date])/7 * 7)/7 + 1
注意:此周数
仅基于天数,而不是一周中的几天(星期一、星期二)等。很遗憾,我不再有CREATE查询。
使用SQL Server Management Studio,在表上单击鼠标右键并生成创建脚本是不是右键单击>将表作为脚本>创建到>新建查询编辑器窗口?如果是,则只创建列,而不设置其计算值:(很遗憾,我不再有我的创建查询。
使用SQL Server Management Studio,右键单击表并生成创建脚本是否右键单击>将表作为脚本>创建到>新建查询编辑器窗口?如果是,则只创建列,但不设置其计算值:(