Sql server2000中使用convert來(lái)取得datetime數(shù)據(jù)類型樣式(全)
日期數(shù)據(jù)格式的處理,兩個(gè)示例:
CONVERT(varchar(16), 時(shí)間一, 20) 結(jié)果:2007-02-01 08:02/*時(shí)間一般為getdate()函數(shù)或數(shù)據(jù)表里的字段*/
CONVERT(varchar(10), 時(shí)間一, 23) 結(jié)果:2007-02-01 /*varchar(10)表示日期輸出的格式,如果不夠長(zhǎng)會(huì)發(fā)生截取*/
語(yǔ)句及查詢結(jié)果:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
參數(shù)
expression
是任何有效的 Microsoft® SQL Server™ 表達(dá)式。。
data_type
目標(biāo)系統(tǒng)所提供的數(shù)據(jù)類型,包括 bigint 和 sql_variant。不能使用用戶定義的數(shù)據(jù)類型。
length
nchar、nvarchar、char、varchar、binary 或 varbinary 數(shù)據(jù)類型的可選參數(shù)。
style
日期格式樣式,借以將 datetime 或 smalldatetime 數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數(shù)據(jù)類型);或者字符串格式樣式,借以將 float、real、money 或 smallmoney 數(shù)據(jù)轉(zhuǎn)換為字符數(shù)據(jù)(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數(shù)據(jù)類型)。
SQL Server 支持使用科威特算法的阿拉伯樣式中的數(shù)據(jù)格式。
在表中,左側(cè)的兩列表示將 datetime 或 smalldatetime 轉(zhuǎn)換為字符數(shù)據(jù)的 style 值。給 style 值加 100,可獲得包括世紀(jì)數(shù)位的四位年份 (yyyy)。
不帶世紀(jì)數(shù)位 (yy) 帶世紀(jì)數(shù)位 (yyyy) 
標(biāo)準(zhǔn) 
輸入/輸出** 
- 0 或 100 (*) 默認(rèn)值 mon dd yyyy hh:miAM(或 PM) 
1 101 美國(guó) mm/dd/yyyy 
2 102 ANSI yy.mm.dd 
3 103 英國(guó)/法國(guó) dd/mm/yy 
4 104 德國(guó) 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 (*) 默認(rèn)值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) 
10 110 美國(guó) mm-dd-yy 
11 111 日本 yy/mm/dd 
12 112 ISO yymmdd 
- 13 或 113 (*) 歐洲默認(rèn)值 + 毫秒 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 
* 默認(rèn)值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀(jì)數(shù)位 (yyyy)。
** 當(dāng)轉(zhuǎn)換為 datetime時(shí)輸入;當(dāng)轉(zhuǎn)換為字符數(shù)據(jù)時(shí)輸出。
*** 專門用于 XML。對(duì)于從 datetime或 smalldatetime 到 character 數(shù)據(jù)的轉(zhuǎn)換,輸出格式如表中所示。對(duì)于從 float、money 或 smallmoney 到 character 數(shù)據(jù)的轉(zhuǎn)換,輸出等同于 style 2。對(duì)于從 real 到 character 數(shù)據(jù)的轉(zhuǎn)換,輸出等同于 style 1。
****Hijri 是具有幾種變化形式的日歷系統(tǒng),Microsoft® SQL Server™ 2000 使用其中的科威特算法。
重要 默認(rèn)情況下,SQL Server 根據(jù)截止年份 2049 解釋兩位數(shù)字的年份。即,兩位數(shù)字的年份 49 被解釋為 2049,而兩位數(shù)字的年份 50 被解釋為 1950。許多客戶端應(yīng)用程序(例如那些基于 OLE 自動(dòng)化對(duì)象的客戶端應(yīng)用程序)都使用 2030 作為截止年份。SQL Server 提供一個(gè)配置選項(xiàng)("兩位數(shù)字的截止年份"),借以更改 SQL Server 所使用的截止年份并對(duì)日期進(jìn)行一致性處理。然而最安全的辦法是指定四位數(shù)字年份。
當(dāng)從 smalldatetime 轉(zhuǎn)換為字符數(shù)據(jù)時(shí),包含秒或毫秒的樣式將在這些位置上顯示零。當(dāng)從 datetime 或 smalldatetime 值進(jìn)行轉(zhuǎn)換時(shí),可以通過使用適當(dāng)?shù)?char 或 varchar 數(shù)據(jù)類型長(zhǎng)度來(lái)截?cái)嗖恍枰娜掌诓糠帧?/P>
新聞熱點(diǎn)
疑難解答
圖片精選