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'
我生成了一个 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'