SQL Server CONVERT() 函数

定义和用法

CONVERT() 函数将值(任何类型)转换为指定的数据类型。

另请参阅

SQL Server 参考手册:CAST() 函数

实例

例子 1

将表达式转换为 int:

SELECT CONVERT(int, 25.65);

亲自试一试

例子 2

将一个表达式从一种数据类型转换为另一种数据类型(varchar):

SELECT CONVERT(varchar, 25.65);

亲自试一试

例子 3

将一个表达式从一种数据类型转换为另一种数据类型(datetime):

SELECT CONVERT(datetime, '2017-08-25');

亲自试一试

例子 4

将一个表达式从一种数据类型转换为另一种数据类型(varchar),并指定样式:

SELECT CONVERT(varchar, '2017-08-25', 101);

亲自试一试

语法

CONVERT(data_type(length), expression, style)

参数

参数 描述
data_type

必需。要将表达式转换为的数据类型。

可以是以下类型之一:

  • bigint
  • int
  • smallint
  • tinyint
  • bit
  • decimal
  • numeric
  • money
  • smallmoney
  • float
  • real
  • datetime
  • smalldatetime
  • char
  • varchar
  • text
  • nchar
  • nvarchar
  • ntext
  • binary
  • varbinary
  • image
(length)

可选。结果数据类型的长度。

适用于 char、varchar、nchar、nvarchar、binary 和 varbinary。

expression 必需。要转换为另一种数据类型的值。
style 可选。用于在数据类型之间进行转换的格式,例如日期或字符串格式。请见下面的表格:

将 datetime 转换为字符:

不带世纪 带世纪 输入/输出 标准
0 100 mon dd yyyy hh:miAM/PM 默认
1 101 mm/dd/yyyy 美国
2 102 yyyy.mm.dd ANSI
3 103 dd/mm/yyyy 英国/法国
4 104 dd.mm.yyyy 德国
5 105 dd-mm-yyyy 意大利
6 106 dd mon yyyy -
7 107 Mon dd, yyyy -
8 108 hh:mm:ss -
9 109 mon dd yyyy hh:mi:ss:mmmAM(或PM) 默认 + 毫秒
10 110 mm-dd-yyyy 美国
11 111 yyyy/mm/dd 日本
12 112 yyyymmdd ISO
13 113 dd mon yyyy hh:mi:ss:mmm 欧洲(24小时制)
14 114 hh:mi:ss:mmm 24 小时制
20 120 yyyy-mm-dd hh:mi:ss ODBC 规范(24小时制)
21 121 yyyy-mm-dd hh:mi:ss.mmm ODBC 规范(24小时制)
126 yyyy-mm-ddThh:mi:ss.mmm ISO8601
127 yyyy-mm-ddThh:mi:ss.mmmZ ISO8601(带时区 Z)
130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
131 dd/mm/yy hh:mi:ss:mmmAM Hijiri

将 float 转换为 real:

解释
0 最多 6 位数字(默认)。
1 8 位数字。
2 16 位数字。

将 money 转换为字符:

解释
0 没有逗号分隔符,小数点右侧有 2 位数字。
1 有逗号分隔符,小数点右侧有 2 位数字。
2 没有逗号分隔符,小数点右侧有 4 位数字

技术细节

适用于:
  • SQL Server(从 2008 开始)
  • Azure SQL Database
  • Azure SQL Data Warehouse
  • Parallel Data Warehouse