sql server2000中使用convert來取得datetime數據類型樣式(全)
日期數據格式的處理,兩個示例:
CONVERT(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/時間一般為getdate()函數或數據表里的字段/
CONVERT(varchar(10), 時間一, 23) 結果:2007-02-01 /varchar(10)表示日期輸出的格式展运,如果不夠長會發(fā)生截取/
語句及查詢結果:
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
說明:
使用 CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
參數
expression
是任何有效的 Microsoft? SQL Server? 表達式秀菱。
data_type
目標系統(tǒng)所提供的數據類型分冈,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型。
length
nchar吠冤、nvarchar、char恭理、varchar拯辙、binary 或 varbinary 數據類型的可選參數。
style
日期格式樣式颜价,借以將 datetime 或 smalldatetime 數據轉換為字符數據(nchar涯保、nvarchar、char周伦、varchar夕春、nchar 或 nvarchar 數據類型);
或者
字符串格式樣式专挪,借以將 float及志、real片排、money 或 smallmoney 數據轉換為字符數據(nchar、nvarchar速侈、char率寡、varchar、nchar 或 nvarchar 數據類型)倚搬。
SQL Server
支持使用科威特算法的阿拉伯樣式中的數據格式冶共。
在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字符數據的 style 值潭枣。
給 style 值加 100比默,可獲得包括世紀數位的四位年份 (yyyy)。
不帶世紀數位 (yy) 帶世紀數位 (yyyy)
標準
輸入/輸出
-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 規(guī)范 yyyy-mm-dd hh:mm:ss[.fff]
-21 或 121 () ODBC 規(guī)范(帶毫秒) 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 是具有幾種變化形式的日歷系統(tǒng)媳友,Microsoft? SQL Server? 2000 使用其中的科威特算法斯议。
重要 默認情況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份醇锚。即哼御,兩位數字的年份 49 被解釋為 2049,而兩位數字的年份 50 被解釋為 1950焊唬。許多客戶端應用程序(例如那些基于 OLE 自動化對象的客戶端應用程序)都使用 2030 作為截止年份恋昼。SQL Server 提供一個配置選項("兩位數字的截止年份"),借以更改 SQL Server 所使用的截止年份并對日期進行一致性處理赶促。然而最安全的辦法是指定四位數字年份液肌。當從 smalldatetime 轉換為字符數據時,包含秒或毫秒的樣式將在這些位置上顯示零芳杏。
當從 datetime 或 smalldatetime 值進行轉換時矩屁,可以通過使用適當的 char 或 varchar 數據類型長度來截斷不需要的日期部分。