SQL Server 2012-更改日期时间格式

时间:2014-08-25 17:55:29

标签: sql sql-server-2012

我在yyyy/mm/dd hh:mm:ss.ms中有当前日期格式,我希望结果为mm/dd/yyyy hh:mm AM/PM格式

我试过

SELECT convert(varchar, getdate(), 101) 

但它没有给出我想要的结果。

请帮助我,因为我是SQL Server的初学者。

1 个答案:

答案 0 :(得分:3)

您可以使用FORMAT()函数(SQL 2012中引入)执行此操作:

 SELECT FORMAT(GETDATE(),'g')
 -- 8/25/2014 2:02 PM

请注意,FORMAT()函数的效果不是很好,但对于非标准格式的格式化非常方便。

更新:关于所提及的FORMAT()性能不佳,因为您正在使用GETDATE()并且一次将相同的值应用于多个记录,您可以通过存储格式化的日期来加快速度变量中的字符串并引用查询中的字符串:

DECLARE @Stamp VARCHAR(20) = (SELECT FORMAT(GETDATE(),'g'))
SELECT *, @Stamp dt
FROM YourTable

理想情况下,这种格式化不会在SQL中完成,但它是我们生活的丑陋世界。