如何在日历表中获取开始月份列?

时间:2016-03-21 09:54:00

标签: sql calendar

我在SQL中有一个日历,显示2014-2020和每个日期开始之间的每个日期。

我希望添加一个新列(如果可能的话),显示每个日期的第1个月。

例如:

enter image description here

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

它可能不是最快的解决方案,但它有效(SQL Server 2014):

ALTER TABLE [日历] 添加月初启动日期

更新[日历] set monthstart = datefromparts(年([日期]),月([日期]),01)

如果不支持datefromparts,您可以尝试:

ALTER TABLE [日历] 添加月初启动日期

更新[日历] set monthstart = CAST(CAST(年([日期])AS varchar)+' - '+ CAST(月([日期] AS varchar)+' - '+ CAST(01 AS varchar)AS DATETIME)