将日期时间转换为以下格式的SQL Server

时间:2014-05-30 20:22:18

标签: sql sql-server

我试图以这种格式获取日期: '05 -31-2014 01:20:25 AM'

我使用下面的代码: Sql Fiddle here,但输出日期奇怪地更改为其他日期:30-26-2011 01:30:38 AM

select format(CAST('2011-11-26 01:30:38.000' AS datetime), 'mm-dd-yyyy hh:mm:ss tt')

Sql小提琴

1 个答案:

答案 0 :(得分:1)

使用FORMAT()功能时,mm为分钟,MM为月,因此请更改为:

SELECT FORMAT(CAST('2011-11-26 01:30:38.000' AS DATETIME), 'MM-dd-yyyy hh:mm:ss tt')

如果已经通过CONVERT()提供了适当的格式,那么这是优选的,因为它的效果优于FORMAT()