SQL Server 2008 中有类似于 DATEFROMPARTS(year, month, day)
的东西吗?我想使用当前的年份和月份创建日期,但我自己的月份日期。这需要在一行中完成,以便在计算列公式中使用。
例如(我不确定它是否有效,因为我没有 SQL Server 2012):
DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 3)
有没有办法在 SQL Server 2008 中做到这一点?
DATEFROMPARTS 似乎仅在 SQL Server 2012 中可用 (链接)
原文由 Jaiesh_bhai 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用您示例中的
3
,您可以这样做:它的工作原理是查找自纪元日期以来的月数,将这些月添加回纪元日期,然后将所需的天数添加到先前的结果中。这听起来很复杂,但它建立在
Date
(不是 DateTime)类型添加到 Sql Server 2008 之前截断日期的规范方法之上。您可能会在这里看到其他建议构建日期字符串的答案。我敦促您 避免使用字符串的建议。使用字符串可能会慢 _得多_,并且使用替代日期排序规则/格式存在一些潜在的缺陷。