我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
当前回答
试试下面的SQL:
select REPLACE(CONVERT(VARCHAR(24),GETDATE(),103),'/','_') + '_'+
REPLACE(CONVERT(VARCHAR(24),GETDATE(),114),':','_')
其他回答
这就是我怎么做的:CONVERT(NVARCHAR(10), DATE1, 103))
CONVERT(VARCHAR, GETDATE(), 23)
试试下面的SQL:
select REPLACE(CONVERT(VARCHAR(24),GETDATE(),103),'/','_') + '_'+
REPLACE(CONVERT(VARCHAR(24),GETDATE(),114),':','_')
对于SQL Server 2008+,可以同时使用CONVERT和FORMAT。
例如,对于欧洲风格(例如德国)的时间戳:
CONVERT(VARCHAR, FORMAT(GETDATE(), 'dd.MM.yyyy HH:mm:ss', 'de-DE'))
时间格式为'yyyy-mm-dd 00:00:00.000'
SELECT CAST( CONVERT(VARCHAR, GETDATE(), 101) AS DATETIME) ;