6

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

那么:如何使用 dd-MMM-yyyy 格式从 adatetime到 a ?varchar

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

我设法完成的关闭是

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

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

4

2 回答 2

12

此格式本身不受支持,但从Build a cheat sheet for SQL Server date and time formats 开始,最接近的可能是:

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

建议使用此答案的先前版本FORMAT(),但此后我进行了试验,并认为这是一个大规模的坏主意,除非您只想让所有查询花费两倍的时间。

于 2012-05-30T19:37:56.700 回答
3

你可以使用:

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

或者

SELECT replace(convert(char(11), getdate(), 106), ' ', '-')
于 2012-05-30T19:29:28.333 回答