|
将一种数据类型的表达式显式转换为另一种。
语法
CONVERT ( data_type [ ( length ) ] ,expression [ ,style ] )
参数
data_type
目标系统提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用数据类型的详细信息,请参阅
length
nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。
expression
任何有效的 SQL Server Compact Edition 表达式。有关详细信息,请参阅
style
日期格式的样式,用于将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式,用于将 float、 real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、 char、varchar、nchar 或 nvarchar 数据类型)。如果 style 为 NULL,则返回的结果也为 NULL。
有关详细信息,请参阅本主题后面的“备注”部分。
数据类型。 表达式 (SQL Server Compact Edition)。
备注
SQL Server 2005 Compact Edition (SQL Server Compact Edition) 支持使用科威特算法的阿拉伯样式的日期格式。
在下表中,左侧的两列表示用于将 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:mi:ss(24h)
|
-
|
21 或 121 (*)
|
ODBC 规范(带毫秒)
|
yyyy-mm-dd hh:mi:ss.mmm(24h)
|
-
|
126(***)
|
ISO8601
|
yyyy-mm-ddThh: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 是具有多个变体的日历系统,其中 SQL Server Compact Edition 使用科威特算法。
下表显示用于将 float 或 real 数据转换为字符数据的 style 值:
值
|
输出
|
0(默认值)
|
最大为 6 位。根据需要使用科学记数法。
|
1
|
始终为 8 位。始终使用科学记数法。
|
2
|
始终为 16 位。始终使用科学记数法。
|
在下表中,左侧的列表示用于将 money 或 smallmoney 数据转换为字符数据的 style 值。
值
|
输出
|
0(默认值)
|
小数点的左侧没有逗号,小数点的右侧取两位数。例如 4235.98。
|
1
|
用逗号分隔小数点左侧的每三位数,小数点的右侧取两位数。例如 3,510.92。
|
2
|
小数点的左侧没有逗号,小数点的右侧取四位数。例如 4235.9819。
| 在从 numeric 或 decimal 数据转换为字符数据时,使用 style 128 可删除结果集中的尾随零。
下图说明了 SQL Server Compact Edition 中的显式和隐式数据转换。
示例
下面的示例将 datetime 值转换为 nvarchar 值:
SELECT OrderDate, CONVERT(nvarchar(10), OrderDate, 101)
FROM Orders |
|
|