SqlServer里convert函数格式化日期
格式:CONVERT(data_type,expression[,style])
说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到。
Date 和 Time 样式
SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。
|
1) |
带世纪数位 (yyyy) |
标准 |
3) |
|---|---|---|---|
|
- |
2) |
默认 |
mon dd yyyy hh:miAM(或 PM) |
|
1 |
101 |
美国 |
mm/dd/yyyy |
|
2 |
102 |
ANSI |
yy.mm.dd |
|
3 |
103 |
英国/法国 |
dd/mm/yyyy |
|
4 |
104 |
德语 |
dd.mm.yy |
|
5 |
105 |
意大利语 |
dd-mm-yy |
|
6 |
(1) |
- |
dd mon yy |
|
7 |
(1) |
- |
Mon dd, yy |
|
8 |
108 |
- |
hh:mi:ss |
|
- |
2) |
默认格式 + 毫秒 |
mon dd yyyy hh:mi:ss:mmmAM(或 PM) |
|
10 |
110 |
美国 |
mm-dd-yy |
|
11 |
111 |
日本 |
yy/mm/dd |
|
12 |
112 |
ISO |
yymmdd yyyymmdd |
|
- |
2) |
欧洲默认格式 + 毫秒 |
dd mon yyyy hh:mi:ss:mmm(24h) |
|
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
|
- |
2) |
ODBC 规范 |
yyyy-mm-dd hh:mi:ss(24h) |
|
- |
2) |
ODBC 规范(带毫秒) |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
|
- |
4) |
ISO8601 |
yyyy-mm-ddThh:mi:ss.mmm(无空格) |
|
- |
6, 7) |
带时区 Z 的 ISO8601。 |
yyyy-mm-ddThh:mi:ss.mmmZ (无空格) |
|
- |
2) |
5) |
dd mon yyyy hh:mi:ss:mmmAM |
|
- |
2) |
5) |
dd/mm/yy hh:mi:ss:mmmAM |
包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。
style0 或 100、9 或 109、13 或 113、20 或 120 以及 21 或 121)始终返回世纪数位 (yyyy)。
datetime 时输入;转换为字符数据时输出。
smalldatetime 到字符数据的转换,其输出格式如上一个表所述。
SQL Server 使用科威特算法。
| 重要提示 |
|---|
|
建议您指定四位数年份。 |
smalldatetime 数据类型时,未指定的时间成分设置为 00:00:00.000,未指定的日期成分设置为 1900-01-01。
2006-12-12T23:45:12-08:00。
smalldatetime 值转换时,可截断不需要的日期部分。
datetimeoffset 时,将在结果末尾追加时区偏移量。
| 0 | Feb 22 2006 4:26PM | CONVERT(CHAR(19), CURRENT_TIMESTAMP, 0) |
| 1 | 02/22/06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 1) |
| 2 | 06.02.22 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 2) |
| 3 | 22/02/06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 3) |
| 4 | 22.02.06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 4) |
| 5 | 22-02-06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 5) |
| 6 | 22 Feb 06 | CONVERT(CHAR(9), CURRENT_TIMESTAMP, 6) |
| 7 | Feb 22, 06 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 7) |
| 8 | 16:26:08 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 8 ) |
| 9 | Feb 22 2006 4:26:08:020PM | CONVERT(CHAR(26), CURRENT_TIMESTAMP, 9) |
| 10 | 02-22-06 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 10) |
| 11 | 06/02/22 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 11) |
| 12 | 060222 | CONVERT(CHAR(6), CURRENT_TIMESTAMP, 12) |
| 13 | 22 Feb 2006 16:26:08:020 | CONVERT(CHAR(24), CURRENT_TIMESTAMP, 13) |
| 14 | 16:26:08:037 | CONVERT(CHAR(12), CURRENT_TIMESTAMP, 14) |
| 20 | 2006-02-22 16:26:08 | CONVERT(CHAR(19), CURRENT_TIMESTAMP, 20) |
| 21 | 2006-02-22 16:26:08.037 | CONVERT(CHAR(23), CURRENT_TIMESTAMP, 21) |
| 22 | 02/22/06 4:26:08 PM | CONVERT(CHAR(20), CURRENT_TIMESTAMP, 22) |
| 23 | 2006-02-22 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 23) |
| 24 | 16:26:08 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 24) |
| 25 | 2006-02-22 16:26:08.037 | CONVERT(CHAR(23), CURRENT_TIMESTAMP, 25) |
| 100 | Feb 22 2006 4:26PM | CONVERT(CHAR(19), CURRENT_TIMESTAMP, 100) |
| 101 | 02/22/2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 101) |
| 102 | 2006.02.22 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102) |
| 103 | 22/02/2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 103) |
| 104 | 22.02.2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 104) |
| 105 | 22-02-2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 105) |
| 106 | 22 Feb 2006 | CONVERT(CHAR(11), CURRENT_TIMESTAMP, 106) |
| 107 | Feb 22, 2006 | CONVERT(CHAR(12), CURRENT_TIMESTAMP, 107) |
| 108 | 16:26:08 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 108) |
| 109 | Feb 22 2006 4:26:08:067PM | CONVERT(CHAR(26), CURRENT_TIMESTAMP, 109) |
| 110 | 02-22-2006 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 110) |
| 111 | 2006/02/22 | CONVERT(CHAR(10), CURRENT_TIMESTAMP, 111) |
| 112 | 20060222 | CONVERT(CHAR(8), CURRENT_TIMESTAMP, 112) |
| 113 | 22 Feb 2006 16:26:08:067 | CONVERT(CHAR(24), CURRENT_TIMESTAMP, 113) |
| 114 | 16:26:08:067 | CONVERT(CHAR(12), CURRENT_TIMESTAMP, 114) |
| 120 | 2006-02-22 16:26:08 | CONVERT(CHAR(19), CURRENT_TIMESTAMP, 120) |
| 121 | 2006-02-22 16:26:08.080 | CONVERT(CHAR(23), CURRENT_TIMESTAMP, 121) |
| 126 | 2006-02-22T16:26:08.080 | CONVERT(CHAR(23), CURRENT_TIMESTAMP, 126) |
| 127 | 2006-02-22T16:26:08.080 | CONVERT(CHAR(23), CURRENT_TIMESTAMP, 127) |
| 130 | 24 ???? 1427 4:26:08:080PM | CONVERT(CHAR(32), CURRENT_TIMESTAMP, 130) |
| 131 | 24/01/1427 4:26:08:080PM | CONVERT(CHAR(25), CURRENT_TIMESTAMP, 131) |