admin

在SQL Server中将int值转换为datetime

sql

我需要使用sql server在datetime中转换年,月和日的int值。

其实我在用这个

DECLARE @MONTH INT
DECLARE @YEAR INT
DECLARE @DAY  INT
DECLARE @MAXDATE DATETIME
DECLARE @MINDATE DATETIME

SET @MONTH=12
SET @YEAR=2010
SET @DAY=1


SET @MINDATE=CONVERT(DATE,CAST (@YEAR AS VARCHAR)+ RIGHT ('0'+ CAST (@MONTH AS VARCHAR),2) + RIGHT ('0'+ CAST (@DAY AS VARCHAR),2))

SELECT @MINDATE

并且可以正常工作,但是我想知道是否存在更好的方法来转换这些值。


阅读 161

收藏
2021-06-07

共1个答案

admin

这会更简单一些:

select dateadd(month,(@YEAR-1900)* 12 + @MONTH - 1,0) + (@DAY-1)
2021-06-07