# SQL Server CONVERT() 函数

## 定义和用法

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

## 语法

     CONVERT(data_type(length),expression,style)

值 | 描述
--- | ---
data_type(length) | 规定目标数据类型（带有可选的长度）。
expression | 规定需要转换的值。
style | 规定日期/时间的输出格式。

下面的表格展示了 datetime 或 smalldatetime 转换为字符数据的 style 值：

值 (世纪 yy) | 值 (世纪 yyyy) | 输入/输出 | 标准
--- | --- | --- | ---
- | 0 or 100 | mon dd yyyy hh:miAM (or PM) | Default
1 | 101 | mm/dd/yy | USA
2 | 102 | yy.mm.dd | ANSI
3 | 103 | dd/mm/yy | British/French
4 | 104 | dd.mm.yy | German
5 | 105 | dd-mm-yy | Italian
6 | 106 | dd mon yy |
7 | 107 | Mon dd, yy |
8 | 108 | hh:mm:ss |
- | 9 or 109 | mon dd yyyy hh:mi:ss:mmmAM (or PM) | Default+millisec
10 | 110 | mm-dd-yy | USA
11 | 111 | yy/mm/dd | Japan
12 | 112 | yymmdd | ISO
- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm (24h) |
14 | 114 | hh:mi:ss:mmm (24h) |
- | 20 or 120 | yyyy-mm-dd hh:mi:ss (24h) |
- | 21 or 121 | yyyy-mm-dd hh:mi:ss.mmm (24h) |
- | 126 | yyyy-mm-ddThh:mi:ss.mmm (no spaces) | ISO8601
- | 130 | dd mon yyyy hh:mi:ss:mmmAM | Hijiri
- | 131 | dd/mm/yy hh:mi:ss:mmmAM | Hijiri

### 实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间：

     CONVERT(VARCHAR(19),GETDATE())
     CONVERT(VARCHAR(10),GETDATE(),10)
     CONVERT(VARCHAR(10),GETDATE(),110)
     CONVERT(VARCHAR(11),GETDATE(),6)
     CONVERT(VARCHAR(11),GETDATE(),106)
     CONVERT(VARCHAR(24),GETDATE(),113)

结果如下所示：

     Nov 04 2011 11:45 PM
     11-04-11
     11-04-2011
     04 Nov 11
     04 Nov 2011
     04 Nov 2011 11:45:34:243