DECLARE @day CHAR(2)
SET @day = DATEPART(DAY, GETDATE())
PRINT @day
Run Code Online (Sandbox Code Playgroud)
如果今天是12月9日,上面将打印"9".
我想打印"09".我该怎么做呢?
two*_*rse 87
用00填充它并采取正确的2:
DECLARE @day CHAR(2)
SET @day = RIGHT('00' + CONVERT(NVARCHAR(2), DATEPART(DAY, GETDATE())), 2)
print @day
Run Code Online (Sandbox Code Playgroud)
小智 23
使用SQL Server的日期样式预先设置日期值的格式.
SELECT
CONVERT(varchar(2), GETDATE(), 101) AS monthLeadingZero -- Date Style 101 = mm/dd/yyyy
,CONVERT(varchar(2), GETDATE(), 103) AS dayLeadingZero -- Date Style 103 = dd/mm/yyyy
Run Code Online (Sandbox Code Playgroud)
Saj*_*kar 20
对于SQL Server 2012及更高版本,使用前导零:
SELECT FORMAT(GETDATE(),'MM')
Run Code Online (Sandbox Code Playgroud)
无:
SELECT MONTH(GETDATE())
Run Code Online (Sandbox Code Playgroud)