如何在 SQL Server 中以整数形式创建日期、月份和年份

新手上路,请多包涵

例如,如果我有:

 DECLARE @Day int = 25
DECLARE @Month int  = 10
DECLARE @Year int = 2016

我想回来

2016-10-25

作为日期或日期时间

原文由 MswatiLomnyama 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 479
2 个回答

在 SQL Server 2012+ 中,您可以使用 datefromparts()

 select datefromparts(@year, @month, @day)

在早期版本中,您可以强制转换字符串。这是一种方法:

 select cast(cast(@year*10000 + @month*100 + @day as varchar(255)) as date)

原文由 Gordon Linoff 发布,翻译遵循 CC BY-SA 3.0 许可协议

简单且最灵活的解决方案

使用 FORMAT 函数制作您喜欢的任何类型的格式。这是复制粘贴工作示例:

 DECLARE @year int = 2021, @month int = 12, @day int = 16
DECLARE @date varchar(20)
SET @date = cast((format(@year,'####') +'-'+format(@month,'##')+'-'+format(@day,'##')) as date)
SELECT @date

它还将显示几天和几个月的前导零。

原文由 Hrvoje 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进