MSSQL時間格式轉換

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

說明:
使用 CONVERTCONVERT ( data_type [ ( length ) ] , expression [ , style ] )

參數
expression

是任何有效的 Microsoft® SQL Server™ 表達式。。 

data_type

目標系統所提供的數據類型,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型。
length

ncharnvarcharcharvarcharbinaryvarbinary 數據類型的可選參數。 

style

日期格式樣式,藉以將 datetimesmalldatetime 數據轉換爲字符數據(ncharnvarcharcharvarcharncharnvarchar 數據類型);或者字符串格式樣式,藉以將 floatrealmoneysmallmoney 數據轉換爲字符數據(ncharnvarcharcharvarcharncharnvarchar 數據類型)。

SQL Server 支持使用科威特算法的阿拉伯樣式中的數據格式。

在表中,左側的兩列表示將 datetimesmalldatetime 轉換爲字符數據的 style 值。給 style 值加 100,可得到包括世紀數位的四位年份 (yyyy)。

不帶世紀數位 (yy) 帶世紀數位 (yyyy) 
標準 
輸入/輸出** 
- 0100 (*) 默認值 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 
- 9109 (*) 默認值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) 
10 110 美國 mm-dd-yy 
11 111 日本 yy/mm/dd 
12 112 ISO yymmdd 
- 13113 (*) 歐洲默認值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h) 
14 114 - hh:mi:ss:mmm(24h) 
- 20120 (*) ODBC 規範 yyyy-mm-dd hh:mm:ss[.fff] 
- 21121 (*) 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 01009109131132012021121)始終返回世紀數位 (yyyy)。
** 當轉換爲 datetime時輸入;當轉換爲字符數據時輸出。
*** 專門用於 XML。對於從 datetime或 smalldatetimecharacter 數據的轉換,輸出格式如表中所示。對於從 floatmoneysmallmoneycharacter 數據的轉換,輸出等同於 style 2。對於從 realcharacter 數據的轉換,輸出等同於 style 1****Hijri 是具備幾種變化形式的日曆系統,Microsoft® SQL Server™ 2000 使用其中的科威特算法。



重要 默認狀況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份。即,兩位數字的年份 49 被解釋爲 2049,而兩位數字的年份 50 被解釋爲 1950。許多客戶端應用程序(例如那些基於 OLE 自動化對象的客戶端應用程序)都使用 2030 做爲截止年份。SQL Server 提供一個配置選項("兩位數字的截止年份"),藉以更改 SQL Server 所使用的截止年份並對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。


當從 smalldatetime 轉換爲字符數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetimesmalldatetime 值進行轉換時,能夠經過使用適當的 charvarchar 數據類型長度來截斷不須要的日期部分。
View Code
相關文章
相關標籤/搜索