我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
当前回答
CONVERT(VARCHAR, GETDATE(), 23)
其他回答
OP提到了datetime格式。对我来说,时间成了绊脚石。 我认为在格式化之前删除时间部分(通过强制转换datetime到date)会更简洁一些。
convert( varchar(10), convert( date, @yourDate ) , 111 )
SQL Server 2012有一个新函数,FORMAT: http://msdn.microsoft.com/en-us/library/ee634924.aspx
并且您可以使用自定义日期时间格式字符串:http://msdn.microsoft.com/en-us/library/ee634398.aspx
这些页面暗示它也可以在SQL2008R2上使用,但是我没有一个方便的页面来测试这种情况。
示例用法(Australian datetime):
FORMAT(VALUE,'dd/MM/yyyy h:mm:ss tt')
这就是我怎么做的:CONVERT(NVARCHAR(10), DATE1, 103))
DECLARE @DateTime DATETIME
SET @DateTime = '2018-11-23 10:03:23'
SELECT CONVERT(VARCHAR(100),@DateTime,121 )
Try:
select replace(convert(varchar, getdate(), 111),'/','-');
更多关于ms sql技巧