我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。

我怎么做呢?


当前回答

declare @dt datetime

set @dt = getdate()

select convert(char(10),@dt,120) 

我有固定的数据长度的字符(10),因为你想要一个特定的字符串格式。

其他回答

这就是我怎么做的:CONVERT(NVARCHAR(10), DATE1, 103))

简单使用“转换”,然后使用“格式”得到你想要的日期格式

DECLARE @myDateTime DATETIME
SET @myDateTime = '2008-05-03'

SELECT FORMAT(CONVERT(date, @myDateTime ),'yyyy-MM-dd')

Try:

select replace(convert(varchar, getdate(), 111),'/','-');

更多关于ms sql技巧

select REPLACE(CONVERT(VARCHAR, FORMAT(GETDATE(), N'dd/MM/yyyy hh:mm:ss tt')),'.', '/')

结果是05/05/2020 10:41:05 AM

declare @dt datetime

set @dt = getdate()

select convert(char(10),@dt,120) 

我有固定的数据长度的字符(10),因为你想要一个特定的字符串格式。