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

我怎么做呢?


当前回答

试试下面的方法:

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

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

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

其他回答

时间格式为'yyyy-mm-dd 00:00:00.000'


SELECT CAST( CONVERT(VARCHAR, GETDATE(), 101) AS DATETIME) ; 

试试下面的方法:

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

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

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

查看本页转换样式:

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

最短最简单的方法是:

DECLARE @now AS DATETIME = GETDATE()

SELECT CONVERT(VARCHAR, @now, 23)

使用Microsoft SQL Server:

使用CONVERT语法:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

例子:

SELECT CONVERT(varchar,d.dateValue,1-9)

对于样式,您可以在这里找到更多信息:MSDN - Cast和转换(Transact-SQL)。

CONVERT(VARCHAR, GETDATE(), 23)