SQL server 2008 日期转换格式

SQL server 2008 date conversion formats

我生成了一个 CSV 文件,但无法确定正确的日期格式。

我知道日期时间转换的 MSDN 站点代码: http://msdn.microsoft.com/en-us/library/ms187928.aspx

似乎没有代码可以将我的日期时间转换成这种格式: MM/DD/YYYY HH:MMAM 例如。: 2014 年 12 月 28 日 4:33AM

如何实现这种格式?

平台: 微软 SQL 服务器 2008

这是您可以使用的,可能是最直接的:

SELECT 
    RIGHT('0' + cast(month(dateColumn) AS NVARCHAR(2)), 2) + '/' -- generate the day
  + RIGHT('0' + cast(day(dateColumn) AS NVARCHAR(2)), 2) + '/'   -- generate the month
  + cast(year(dateColumn) AS NVARCHAR(4)) + ' '                  -- generate the year
  + convert(VARCHAR, cast(dateColumn AS TIME)), 100)             -- generate the time
FROM TABLE
SELECT CONVERT(VARCHAR, GetDate(), 101) + ' ' + 
      CONVERT(VARCHAR, DATEPART(hh, GetDate())) + ':' + 
      RIGHT('0' + CONVERT(VARCHAR, DATEPART(mi, GetDate())), 2) AS TIME

编辑:这得到 AM/PM 也

SELECT CONVERT(CHAR(11),GETDATE(),101)
     + CONVERT(CHAR( 5),GETDATE(),114)
     + RIGHT(CONVERT(CHAR( 5),GETDATE(),109), 2)
 SELECT CONVERT(VARCHAR(10), GETDATE(), 101) + 
        RIGHT(CONVERT(VARCHAR, GETDATE(), 100), 7)

SELECT CONVERT(VARCHAR(10),GETDATE(),3) 为 'dd/MM/yy' SELECT CONVERT(VARCHAR(10),GETDATE(),103) 为 'dd/MM/yyyy'

SELECT CONVERT(VARCHAR(10),GETDATE(),4) 为 'dd.MM.yy' SELECT CONVERT(VARCHAR(10),GETDATE(),104) 为 'dd.MM.yyyy'

SELECT CONVERT(VARCHAR(10),GETDATE(),5) 为 'dd-MM-yy' SELECT CONVERT(VARCHAR(10),GETDATE(),105) 为 'dd-MM-yyyy'

SELECT CONVERT(VARCHAR(10),GETDATE(),6) 为 'ddMonthyy' SELECT CONVERT(VARCHAR(10),GETDATE(),106) 为 'ddMonthyyyy'

SELECT CONVERT(VARCHAR(10),GETDATE(),7) 为 'Monthdd.yy' SELECT CONVERT(VARCHAR(10),GETDATE(),107) 为 'Monthdd.yyyy'

SELECT CONVERT(VARCHAR(10),GETDATE(),8) 为 'hh.mm.ss' SELECT CONVERT(VARCHAR(10),GETDATE(),108) 为 'hh.mm.ss'

SELECT CONVERT(VARCHAR(100),GETDATE(),9) 为 'Monthddyy hh.mm.ss.mss' SELECT CONVERT(VARCHAR(100),GETDATE(),109) 为 'Monthddyyyy hh.mm.ss.mss'

SELECT CONVERT(VARCHAR(100),GETDATE(),10) 为 'mm-dd-yy' SELECT CONVERT(VARCHAR(100),GETDATE(),110) 为 'mm-dd-yyyy'

SELECT CONVERT(VARCHAR(100),GETDATE(),11) 为 'yy/MM/dd' SELECT CONVERT(VARCHAR(100),GETDATE(),111) 为 'yyyy/MM/dd'

SELECT CONVERT(VARCHAR(100),GETDATE(),12) 为 'yyMMdd' SELECT CONVERT(VARCHAR(100),GETDATE(),112) 为 'yyyyMMdd'

SELECT CONVERT(VARCHAR(100),GETDATE(),13) 为 'ddMonthyy hh.mm.ss.mss' SELECT CONVERT(VARCHAR(100),GETDATE(),113) 为 'ddMonthyyyy hh.mm.ss.mss'