SQL Server中,Convert可以将日期转换成不同格式,格式控制是由CONVERT (data_type[(length)], expression [, style])中的style来完成的。下面列出了style取各种值时的效果:
在表中,左侧的两列表示将 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* |
科威特 |
dd mon yyyy hh:mi:ss:mmmAM |
| - |
131* |
科威特 |
dd/mm/yy hh:mi:ss:mmmAM |
select name,work_card,dept,jh,xe,convert(varchar(200),mdate1,20) as date from ftgl_record where mdate=\'2008-09-16\' or mdate=\'2008-09-17\'
order by dept,name,mdate1