Sal*_*dor 2 sql sql-server sql-server-2005
我需要使用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
Run Code Online (Sandbox Code Playgroud)
并且工作正常,但我想知道是否存在更好的方法来转换这些值.
这会更简单一些:
select dateadd(month,(@YEAR-1900)* 12 + @MONTH - 1,0) + (@DAY-1)
Run Code Online (Sandbox Code Playgroud)