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

AR.*_*AR. 5 t-sql sql-server sql-server-2005

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

那么:我怎样从格式为dd-MMM-yyyy的a datetime到a varchar

Eg: my_date --> '29-May-2012'
Run Code Online (Sandbox Code Playgroud)

我成功的关闭是

convert(varchar(20),my_date,105) --> '29-05-2012'
Run Code Online (Sandbox Code Playgroud)

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

Aar*_*and 11

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

SELECT FORMAT(GETDATE(), 'dd-MMM-yyyy');
Run Code Online (Sandbox Code Playgroud)

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

SELECT REPLACE(CONVERT(CHAR(11), GETDATE(), 106), ' ', '-');
Run Code Online (Sandbox Code Playgroud)