例如,如果我有一个包含两列的数据集,一列显示月份,另一列显示年份(使用GROUP BY对数据进行分组的结果),我想添加另一个名为'Days in the month‘的列,它将显示相应月份中的天数。有什么办法可以做到这一点吗?是否可以在SELECT子句中添加一些函数?
我想这样做,因为我需要对每一行的该数字进行进一步的计算。
发布于 2017-08-15 21:47:52
在SQL Server 2012+中,您可以使用:
select day(eomonth(datecol))eomonth()获取每月的最后一天。day()只返回一个月的第几天--在本例中是一个月中的天数。
发布于 2017-08-15 21:52:56
对于较早的SQL Server版本,我使用以下命令:
DAY(DATEADD(MONTH, DATEDIFF(MONTH, -1, date_column)- 1, -1)) 远不如前面的答案优雅,但功能强大。
https://stackoverflow.com/questions/45694197
复制相似问题