我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
当前回答
时间格式为'yyyy-mm-dd 00:00:00.000'
SELECT CAST( CONVERT(VARCHAR, GETDATE(), 101) AS DATETIME) ;
其他回答
这就是我怎么做的:CONVERT(NVARCHAR(10), DATE1, 103))
declare @dt datetime
set @dt = getdate()
select convert(char(10),@dt,120)
我有固定的数据长度的字符(10),因为你想要一个特定的字符串格式。
Try:
select replace(convert(varchar, getdate(), 111),'/','-');
更多关于ms sql技巧
使用Microsoft SQL Server:
使用CONVERT语法:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
例子:
SELECT CONVERT(varchar,d.dateValue,1-9)
对于样式,您可以在这里找到更多信息:MSDN - Cast和转换(Transact-SQL)。
DECLARE @DateTime DATETIME
SET @DateTime = '2018-11-23 10:03:23'
SELECT CONVERT(VARCHAR(100),@DateTime,121 )