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
說明:
使用 CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
參數
expression
是任何有效的 Microsoft? SQL Server? 表達式。。
data_type
目標系統所提供的數據類型,包括 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 規范 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 Server 根據截止年份
2049
解釋兩位數字的年份。即,兩位數字的年份
49
被解釋為
2049
,而兩位數字的年份
50
被解釋為
1950
。許多客戶端應用程序(例如那些基于 OLE 自動化對象的客戶端應用程序)都使用
2030
作為截止年份。SQL Server 提供一個配置選項(
"
兩位數字的截止年份
"
),借以更改 SQL Server 所使用的截止年份并對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。
當從 smalldatetime 轉換為字符數據時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetime 或 smalldatetime 值進行轉換時,可以通過使用適當的
char
或 varchar 數據類型長度來截斷不需要的日期部分。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

