1)SQL Server 裏實現日期格式化需要到 convert()函數;
CONVERT() 函數是把日期轉換爲新數據類型的通用函數,可以用不同的格式顯示日期/時間數據。
語法:CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 規定目標數據類型(帶有可選的長度)。
data_to_be_converted 含有需要轉換的值。
style 規定日期/時間的輸出格式。
例:
CONVERT(VARCHAR(19),GETDATE()); --Dec 29 2008 11:45 PM
CONVERT(VARCHAR(10),GETDATE(),120);--2008-12-29
CONVERT(VARCHAR(10),GETDATE(),110);--12-29-2008
CONVERT(VARCHAR(11),GETDATE(),106);--29 Dec 08
CONVERT(VARCHAR(24),GETDATE(),113);--29 Dec 2008 16:25:46.635
可以使用的 style 值:
Style ID |
Style 格式 |
100 或者 0 |
mon dd yyyy hh:miAM (或者 PM) |
101 |
mm/dd/yy |
102 |
yy.mm.dd |
103 |
dd/mm/yy |
104 |
dd.mm.yy |
105 |
dd-mm-yy |
106 |
dd mon yy |
107 |
Mon dd, yy |
108 |
hh:mm:ss |
109 或者 9 |
mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 |
mm-dd-yy |
111 |
yy/mm/dd |
112 |
yymmdd |
113 或者 13 |
dd mon yyyy hh:mm:ss:mmm(24h) |
114 |
hh:mi:ss:mmm(24h) |
120 或者 20 |
yyyy-mm-dd hh:mi:ss(24h) |
121 或者 21 |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
126 |
yyyy-mm-ddThh:mm:ss.mmm(沒有空格) |
130 |
dd mon yyyy hh:mi:ss:mmmAM |
131 |
dd/mm/yy hh:mi:ss:mmmAM |
2)便利的FORMAT()函數
FORMAT()函數,可以方便和靈活地控制數值、日期和時間類型的顯示格式,通常情況下,FORMAT()函數主要用於格式化顯示date/time類型和數值類型,參數format用於指定顯示的格式,給予用戶對格式更自由地控制,culture參數是可選的,用於指定顯示的語言,該函數返回值的數據類型是NVARCHAR,如果格式轉換失敗,該函數返回NULL:
FORMAT ( value, format [, culture ] )
參數format使用#表示一個數值,參數 format 使用以下佔位符來表示日期/時間的格式:
- yyyy、MM、dd:表示年、月、日
- hh:mm:ss fffffff:表示時、分、秒、毫秒
- 使用“/”,“-”等作爲連接各個部分(part)的分割符號
(1)把date/time格式化
在format參數中指定日期/時間顯示的格式,以特定的格式: “yyyy:MMdd hh:mm:ss fffffff” 顯式日期/時間,例如:
select format(SYSDATETIME(),'yyyy-MM-dd hh:mm:ss fffffff')