sql 日期時間格式轉換

2021-09-25 20:19:09 字數 4265 閱讀 2626

可以通過控制varchar長度擷取字串
sql server2000中使用convert來取得datetime資料型別樣式(全)

日期資料格式的處理,兩個示例:

convert(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函式或資料表裡的字段*/

convert(varchar(10), 時間一, 23) 結果:2007-02-01 /*varchar(10)表示日期輸出的格式,如果不夠長會發生擷取*/

語句及查詢結果:

select convert(varchar(100), getdate(), 0): 05 16 2006 10:57am

select convert(varchar(100), getdate(), 1): 05/16/06

select convert(varchar(100), getdate(), 2): 06.05.16

select convert(varchar(100), getdate(), 3): 16/05/06

select convert(varchar(100), getdate(), 4): 16.05.06

select convert(varchar(100), getdate(), 5): 16-05-06

select convert(varchar(100), getdate(), 6): 16 05 06

select convert(varchar(100), getdate(), 7): 05 16, 06

select convert(varchar(100), getdate(), 8): 10:57:46

select convert(varchar(100), getdate(), 9): 05 16 2006 10:57:46:827am

select convert(varchar(100), getdate(), 10): 05-16-06

select convert(varchar(100), getdate(), 11): 06/05/16

select convert(varchar(100), getdate(), 12): 060516

select convert(varchar(100), getdate(), 13): 16 05 2006 10:57:46:937

select convert(varchar(100), getdate(), 14): 10:57:46:967

select convert(varchar(100), getdate(), 20): 2006-05-16 10:57:47

select convert(varchar(100), getdate(), 21): 2006-05-16 10:57:47.157

select convert(varchar(100), getdate(), 22): 05/16/06 10:57:47 am

select convert(varchar(100), getdate(), 23): 2006-05-16

select convert(varchar(100), getdate(), 24): 10:57:47

select convert(varchar(100), getdate(), 25): 2006-05-16 10:57:47.250

select convert(varchar(100), getdate(), 100): 05 16 2006 10:57am

select convert(varchar(100), getdate(), 101): 05/16/2006

select convert(varchar(100), getdate(), 102): 2006.05.16

select convert(varchar(100), getdate(), 103): 16/05/2006

select convert(varchar(100), getdate(), 104): 16.05.2006

select convert(varchar(100), getdate(), 105): 16-05-2006

select convert(varchar(100), getdate(), 106): 16 05 2006

select convert(varchar(100), getdate(), 107): 05 16, 2006

select convert(varchar(100), getdate(), 108): 10:57:49

select convert(varchar(100), getdate(), 109): 05 16 2006 10:57:49:437am

select convert(varchar(100), getdate(), 110): 05-16-2006

select convert(varchar(100), getdate(), 111): 2006/05/16

select convert(varchar(100), getdate(), 112): 20060516

select convert(varchar(100), getdate(), 113): 16 05 2006 10:57:49:513

select convert(varchar(100), getdate(), 114): 10:57:49:547

select convert(varchar(100), getdate(), 120): 2006-05-16 10:57:49

select convert(varchar(100), getdate(), 121): 2006-05-16 10:57:49.700

select convert(varchar(100), getdate(), 126): 2006-05-16t10:57:49.827

select convert(varchar(100), getdate(), 130): 18 ???? ?????? 1427 10:57:49:907am

select convert(varchar(100), getdate(), 131): 18/04/1427 10:57:49:920am

輸入/輸出**

- 0 或 100 (*) 預設值 mon dd yyyy hh:miam(或 pm)

1 101 美國 mm/dd/yyyy

2 102 ansi yy.mm.dd

3 103 英國/法國 dd/mm/yy

4 104 德國 dd.mm.yy

5 105 義大利 dd-mm-yy

6 106 - dd mon yy

7 107 - mon dd, yy

8 108 - hh:mm:ss

- 9 或 109 (*) 預設值 + 毫秒 mon dd yyyy hh:mi:ss:mmmam(或 pm)

10 110 美國 mm-dd-yy

11 111 日本 yy/mm/dd

12 112 iso yymmdd

- 13 或 113 (*) 歐洲預設值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)

14 114 - hh:mi:ss:mmm(24h)

- 20 或 120 (*) odbc 規範 yyyy-mm-dd hh:mm:ss[.fff]

- 21 或 121 (*) odbc 規範(帶毫秒) yyyy-mm-dd hh:mm:ss[.fff]

- 126(***) iso8601 yyyy-mm-dd thh:mm:ss.mmm(不含空格)

- 130* hijri**** dd mon yyyy hh:mi:ss:mmmam

- 131* hijri**** dd/mm/yy hh:mi:ss:mmmam

* 預設值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數字 (yyyy)。

** 當轉換為 datetime時輸入;當轉換為字元資料時輸出。

*** 專門用於 xml。對於從 datetime或 smalldatetime 到 character 資料的轉換,輸出格式如表中所示。對於從 float、money 或 smallmoney 到 character 資料的轉換,輸出等同於 style 2。對於從 real 到 character 資料的轉換,輸出等同於 style 1。

****hijri 是具有幾種變化形式的日曆系統,microsoft® sql server™ 2000 使用其中的科威特演算法。

Sql日期時間格式轉換

select convert varchar 100 getdate 0 05 16 2006 10 57am select convert varchar 100 getdate 1 05 16 06 select convert varchar 100 getdate 2 06.05.16 se...

sql日期格式轉換

select convert varchar,getdate 120 2004 09 12 11 06 08 select replace replace replace convert varchar,getdate 120 20040912110608 select counvrt varcha...

sql日期格式轉換

select convert varchar,getdate 120 2011 10 26 14 28 32 select replace replace replace convert varchar,getdate 120 20111026142858 select convert varcha...