1、回顧一下CONVERT()的語法格式: CONVERT (<data_ type>[ length ], <expression> [, style]) 2、這裏注重說明一下style的含義:style 是將DATATIME 和SMALLDATETIME 數據轉換爲字符串時所選用的由SQL Server 系統提供的轉換樣式編號,不一樣的樣式編號有不一樣的輸出格式;通常在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉換的時候纔用到. 3、下表是SQL Server 系統提供的轉換樣式編號:html
不帶世紀數位 (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 或 10九、13 或 11三、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 使用其中的科威特算法。
4、不帶世紀數位的實例代碼(註釋的表示非有效的樣式號):算法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
SELECT
CONVERT
(
varchar
(100), GETDATE(), 0)
AS
Style0
SELECT
CONVERT
(
varchar
(100), GETDATE(), 1)
AS
Style1
SELECT
CONVERT
(
varchar
(100), GETDATE(), 2)
AS
Style2
SELECT
CONVERT
(
varchar
(100), GETDATE(), 3)
AS
Style3
SELECT
CONVERT
(
varchar
(100), GETDATE(), 4)
AS
Style4
SELECT
CONVERT
(
varchar
(100), GETDATE(), 5)
AS
Style5
SELECT
CONVERT
(
varchar
(100), GETDATE(), 6)
AS
Style6
SELECT
CONVERT
(
varchar
(100), GETDATE(), 7)
AS
Style7
SELECT
CONVERT
(
varchar
(100), GETDATE(), 8)
AS
Style8
SELECT
CONVERT
(
varchar
(100), GETDATE(), 9)
AS
Style9
SELECT
CONVERT
(
varchar
(100), GETDATE(), 10)
AS
Style10
SELECT
CONVERT
(
varchar
(100), GETDATE(), 11)
AS
Style11
SELECT
CONVERT
(
varchar
(100), GETDATE(), 12)
AS
Style12
SELECT
CONVERT
(
varchar
(100), GETDATE(), 13)
AS
Style13
SELECT
CONVERT
(
varchar
(100), GETDATE(), 14)
AS
Style14
--SELECT CONVERT(varchar(100), GETDATE(), 15) AS Style15
--SELECT CONVERT(varchar(100), GETDATE(), 16) AS Style16
--SELECT CONVERT(varchar(100), GETDATE(), 17) AS Style17
--SELECT CONVERT(varchar(100), GETDATE(), 18) AS Style18
--SELECT CONVERT(varchar(100), GETDATE(), 19) AS Style19
SELECT
CONVERT
(
varchar
(100), GETDATE(), 20)
AS
Style21
SELECT
CONVERT
(
varchar
(100), GETDATE(), 21)
AS
Style21
SELECT
CONVERT
(
varchar
(100), GETDATE(), 22)
AS
Style22
SELECT
CONVERT
(
varchar
(100), GETDATE(), 23)
AS
Style23
SELECT
CONVERT
(
varchar
(100), GETDATE(), 24)
AS
Style24
SELECT
CONVERT
(
varchar
(100), GETDATE(), 25)
AS
Style25
--SELECT CONVERT(varchar(100), GETDATE(), 26) AS Style26
--SELECT CONVERT(varchar(100), GETDATE(), 27) AS Style27
--SELECT CONVERT(varchar(100), GETDATE(), 28) AS Style28
--SELECT CONVERT(varchar(100), GETDATE(), 29) AS Style29
--SELECT CONVERT(varchar(100), GETDATE(), 30) AS Style30
--SELECT CONVERT(varchar(100), GETDATE(), 31) AS Style31
|
運行結果:
5、帶世紀數位的實例代碼(註釋的表示非有效的樣式號):sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
SELECT
CONVERT
(
varchar
(100), GETDATE(), 100)
AS
Style100
SELECT
CONVERT
(
varchar
(100), GETDATE(), 101)
AS
Style101
SELECT
CONVERT
(
varchar
(100), GETDATE(), 102)
AS
Style102
SELECT
CONVERT
(
varchar
(100), GETDATE(), 103)
AS
Style103
SELECT
CONVERT
(
varchar
(100), GETDATE(), 104)
AS
Style104
SELECT
CONVERT
(
varchar
(100), GETDATE(), 105)
AS
Style105
SELECT
CONVERT
(
varchar
(100), GETDATE(), 106)
AS
Style106
SELECT
CONVERT
(
varchar
(100), GETDATE(), 107)
AS
Style107
SELECT
CONVERT
(
varchar
(100), GETDATE(), 108)
AS
Style108
SELECT
CONVERT
(
varchar
(100), GETDATE(), 109)
AS
Style109
SELECT
CONVERT
(
varchar
(100), GETDATE(), 110)
AS
Style110
SELECT
CONVERT
(
varchar
(100), GETDATE(), 111)
AS
Style111
SELECT
CONVERT
(
varchar
(100), GETDATE(), 112)
AS
Style112
SELECT
CONVERT
(
varchar
(100), GETDATE(), 113)
AS
Style113
SELECT
CONVERT
(
varchar
(100), GETDATE(), 114)
AS
Style114
--SELECT CONVERT(varchar(100), GETDATE(), 115) AS Style115
--SELECT CONVERT(varchar(100), GETDATE(), 116) AS Style116
--SELECT CONVERT(varchar(100), GETDATE(), 117) AS Style117
--SELECT CONVERT(varchar(100), GETDATE(), 118) AS Style118
--SELECT CONVERT(varchar(100), GETDATE(), 119) AS Style119
SELECT
CONVERT
(
varchar
(100), GETDATE(), 120)
AS
Style121
SELECT
CONVERT
(
varchar
(100), GETDATE(), 121)
AS
Style121
--SELECT CONVERT(varchar(100), GETDATE(), 122) AS Style122
--SELECT CONVERT(varchar(100), GETDATE(), 123) AS Style123
--SELECT CONVERT(varchar(100), GETDATE(), 124) AS Style124
--SELECT CONVERT(varchar(100), GETDATE(), 125) AS Style125
SELECT
CONVERT
(
varchar
(100), GETDATE(), 126)
AS
Style126
SELECT
CONVERT
(
varchar
(100), GETDATE(), 127)
AS
Style127
--SELECT CONVERT(varchar(100), GETDATE(), 128) AS Style128
--SELECT CONVERT(varchar(100), GETDATE(), 129) AS Style129
SELECT
CONVERT
(
varchar
(100), GETDATE(), 130)
AS
Style130
SELECT
CONVERT
(
varchar
(100), GETDATE(), 131)
AS
Style131
|
運行結果:
express