一、回顧一下CONVERT()的語法格式: CONVERT (<data_ type="">[ length ], [, style])
二、這里注重說明一下style的含義:style 是將DATATIME 和SMALLDATETIME 數據轉換為字符串時所選用的由SQL Server 系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式;一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉換的時候才用到. 三、下表是SQL Server 系統提供的轉換樣式編號:
不帶世紀數位 (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 使用其中的科威特算法。
四、不帶世紀數位的實例代碼(注釋的表示非有效的樣式號):
代碼如下:
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( |