创新互联OceanBase教程:OceanBase转换函数

CAST

声明

成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达十余年累计超上千家客户的网站建设总结了一套系统有效的推广解决方案,现已广泛运用于各行各业的客户,其中包括:成都被动防护网等企业,备受客户称赞。

CAST(expr AS type)

说明

将某种数据类型的表达式显式转换为另一种数据类型。

expr字段值转换为type​数据类型。

参数说明

  • expr:表示任何有效的 SQL 表达式。
  • AS:用于分隔两个参数,在 AS 之前的是要处理的数据,在 AS 之后是要转换的数据类型。
  • type:表示目标系统所提供的数据类型。可以是以下值其中的一个:
    • DATE
    • DATETIME
    • DECIMAL
    • SIGNED [INTEGER]
    • TIME
    • UNSIGNED [INTEGER]

在使用 CAST 函数进行数据类型转换时,在下列情况下能够被接受:

  • 两个表达式的数据类型完全相同
  • 两个表达式可隐式转换
  • 必须显式转换数据类型

如果试图进行不可能的转换,OceanBase 数据库将显示一条错误信息。

如果转换时没有指定数据类型的长度,则使用 OceanBase 数据库系统内部最大长度。如​VARCHAR是262,143字节,​NUMBER是 65 个 bit 位的浮动精度。

支持带符号和无符号的 64 比特值的运算。如果您正在使用数字操作符 (如 +) 而其中一个操作数为无符号整数,则结果为无符号。可使用 SIGNED 和 UNSIGNED cast 操作符来覆盖它。将运算分别派给带符号或无符号 64 比特整数。

假如任意一个操作数为一个浮点值,则结果为一个浮点值。

例子


obclient> SELECT CAST(123 AS TIME);
+-------------------+
| CAST(123 AS TIME) |
+-------------------+
| 00:01:23          |
+-------------------+
1 row in set (0.01 sec)

obclient> select cast(1-2 as unsigned), cast(cast(1-2 as unsigned) as signed);
+-----------------------+---------------------------------------+
| cast(1-2 as unsigned) | cast(cast(1-2 as unsigned) as signed) |
+-----------------------+---------------------------------------+
|  18446744073709551615 |                                    -1 |
+-----------------------+---------------------------------------+
1 row in set (0.00 sec)

obclient> SELECT CAST(1 AS UNSIGNED) - 2.0;
+---------------------------+
| CAST(1 AS UNSIGNED) - 2.0 |
+---------------------------+
|                      -1.0 |
+---------------------------+
1 row in set (0.00 sec)

obclient> select cast(0 as date);
+-----------------+
| cast(0 as date) |
+-----------------+
| 0000-00-00      |
+-----------------+
1 row in set (0.00 sec)

当前文章:创新互联OceanBase教程:OceanBase转换函数
本文来源:http://www.stwzsj.com/qtweb/news17/6117.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联