自定义日期时间格式 - SQL Server

时间:2016-03-08 07:12:51

标签: sql sql-server sql-server-2008 tsql

我想将sql日期时间格式化为以下格式

  

2011-04-28 23:53:13 -----> Thu Apr 28 23:53:13 UTC 2011

遗憾的是,我的2008 SQL Server不支持FORMAT功能 它说那个

  

' FORMAT'不是公认的内置函数名称。

2 个答案:

答案 0 :(得分:3)

尝试以下代码。我从你的问题描述中假设UTC为常数

   SELECT SUBSTRING(DATENAME(DW,GETUTCDATE()),1,3) + ' ' + 
   SUBSTRING(DATENAME(MM,GETUTCDATE()),1,3) +' '+ 
   CAST(DATEPART(DD,GETUTCDATE()) AS VARCHAR(3)) + ' '
   +cast( cast(GETUTCDATE() as time(0)) as varchar(20)) + ' UTC '+ 
   DATENAME(YY,GETUTCDATE())

答案 1 :(得分:0)

FORMAT是自2008年以来SQL Server 2012更改的一部分,对于旧版本的SQL Server,请使用CONVERT

SELECT(SUBSTRING(DATENAME(DW,GETUTCDATE()),1,3)+ ' ' + CONVERT(VARCHAR(20), GETUTCDATE(), 100))

唯一的问题是它没有时区。您的数据库日期时间日志是否使用UTC保存(基于良好实践,它应该)?如果是,那么您可以附加字符串' UTC'以下查询。