如何使用dd-MMM-yyyy格式将日期时间格式化为varchar?

时间:2012-05-30 19:25:09

标签: sql-server tsql sql-server-2005

我觉得这应该是一个简单的解决方案,但我很难找到任何东西......

那么:我如何从格式为dd-MMM-yyyy的datetimevarchar

Eg: my_date --> '29-May-2012'

我成功的关闭是

convert(varchar(20),my_date,105) --> '29-05-2012'

是的,我需要在T-SQL中正确执行此操作。

2 个答案:

答案 0 :(得分:11)

打赌你不能等待SQL Server 2012(对于其他读者来说仍然可能是一个有效的答案):

SELECT FORMAT(GETDATE(), 'dd-MMM-yyyy');

与此同时,这种格式不是本机支持的,但是从http://databases.aspfaq.com/database/what-are-the-valid-styles-for-converting-datetime-to-string.html开始,最接近的可能是:

SELECT REPLACE(CONVERT(CHAR(11), GETDATE(), 106), ' ', '-');

答案 1 :(得分:3)

您可以使用:

SELECT replace(convert(char(11), getdate(), 113), ' ', '-')

SELECT replace(convert(char(11), getdate(), 106), ' ', '-')