返回转换成提供的数据类型的表达式。
CAST、CONVERT、HEXTOINT、和 INTTOHEX 函数可用于十六进制值与其它值之间的相互转换。有关使用这些函数的详细信息,请参见转换至/自十六进制值。
CONVERT( datatype, expression [ , format-style ] )
datatype 表达式将要转换成的数据类型。
expression 要转换的表达式。
format-style 要应用到输出值的样式代码。请在将字符串转换为日期或时间数据类型或将日期或时间数据类型转换为字符串时使用此参数。下表显示了所支持的样式代码,其后为该样式代码产生的输出格式的表示。样式代码分为两列,具体要视输出格式中是否包括世纪而定(例如,不包括世纪时为 06,包括世纪时则为 2006)。
不含世纪 (yy) 的样式代码 | 含世纪 (yyyy) 的样式代码 | 输出格式 |
---|---|---|
- | 0 或 100 | Mmm dd yyyy hh:nnAA |
1 | 101 | mm/dd/yy[yy] |
2 | 102 | [yy]yy.mm.dd |
3 | 103 | dd/mm/yy[yy] |
4 | 104 | dd.mm.yy[yy] |
5 | 105 | dd-mm-yy[yy] |
6 | 106 | dd Mmm yy[yy] |
7 | 107 | Mmm dd, yy[yy] |
8 | 108 | hh:nn:ss |
- | 9 或 109 | Mmm dd yyyy hh:nn:ss:sssAA |
10 | 110 | mm-dd-yy[yy] |
11 | 111 | [yy]yy/mm/dd |
12 | 112 | [yy]yymmdd |
- | 13 或 113 | dd Mmm yyyy hh:nn:ss:sss(24 小时制,欧洲缺省时间 + 毫秒,4 位数年份) |
- | 14 或 114 | hh:nn:ss:sss(24 小时制) |
- | 20 或 120 | yyyy-mm-dd hh:nn:ss(24 小时制,ODBC 规范,4 位数年份) |
- | 21 或 121 | yyyy-mm-dd hh:nn:ss.sss(24 小时制,ODBC 规范加毫秒,4 位数年份) |
取决于所指定的数据类型。
如果不提供 format-style 参数,将使用样式代码 0。
如果分析字符串时不存在多义性,则可以使用 CONVERT 函数将字符串转换为 DATE、TIME 或 TIMESTAMP 数据类型。如果指定 format-style,则数据库服务器可使用它作为分析字符串时的提示。如果数据库服务器无法明确分析字符串,则返回错误。
有关每种输出符号(如 Mmm)生成的样式的信息,请参见UltraLite date_format 创建参数。
SQL/2008 服务商扩充。SQL/2008 标准中定义了 CONVERT 函数。然而,在 SQL 标准中,CONVERT 的用途是对输入字符串表达式执行编码转换,将其转换为其它字符集,但在 SQL Anywhere 中,该函数被设计成 CSCONVERT 函数。
以下语句举例说明了格式样式的用法。
SELECT CONVERT( CHAR( 20 ), OrderDate, 104 ) FROM SalesOrders; |
OrderDate |
---|
16.03.2000 |
20.03.2000 |
23.03.2000 |
25.03.2000 |
... |
SELECT CONVERT( CHAR( 20 ), OrderDate, 7 ) FROM SalesOrders; |
OrderDate |
---|
Mar 16, 00 |
Mar 20, 00 |
Mar 23, 00 |
Mar 25, 00 |
... |
以下语句举例说明了到整数的转换,并返回值 5。
SELECT CONVERT( integer, 5.2 ); |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |