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

我怎么做呢?


当前回答

OP提到了datetime格式。对我来说,时间成了绊脚石。 我认为在格式化之前删除时间部分(通过强制转换datetime到date)会更简洁一些。

convert( varchar(10), convert( date, @yourDate ) , 111 )

其他回答

试试下面的方法:

CONVERT(VARCHAR(10),GetDate(),102)

然后需要将“。”替换为“-”。

这里有一个网站可以提供帮助 http://www.mssqltips.com/tip.asp?tip=1145

DECLARE @DateTime DATETIME
SET @DateTime = '2018-11-23 10:03:23'
SELECT CONVERT(VARCHAR(100),@DateTime,121 )

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

试试下面的方法:

CONVERT(varchar(10), [MyDateTimecolumn], 20)

对于一个完整的约会时间,而不仅仅是约会,请:

CONVERT(varchar(23), [MyDateTimecolumn], 121)

查看本页转换样式:

http://msdn.microsoft.com/en-us/library/ms187928.aspx 或 SQL Server CONVERT()函数

CONVERT(VARCHAR, GETDATE(), 23)