我觉得这应该是一个简单的解决方案,但我很难找到任何东西......
那么:我如何从格式为dd-MMM-yyyy的datetime
到varchar
?
Eg: my_date --> '29-May-2012'
我成功的关闭是
convert(varchar(20),my_date,105) --> '29-05-2012'
是的,我需要在T-SQL中正确执行此操作。
答案 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), ' ', '-')