语法
CAST(expr AS type) , CONVERT(expr,type) , CONVERT(expr USING transcoding_name)函数说明
CAST()和 CONVERT()函数用于将一个类型的数值转换到另一个类型。
- type 可以是下列值之一:CHAR、DATE、DATETIME、DECIMAL、TIME、NUMERIC、INT、FLOAT、DOUBLE、VARCHAR、TIMESTAMP。
- CAST()和 CONVERT(...USING...)是标准的 SQL 语法。
- CAST(str AS BINARY)等价于 BINARY str。
- CAST(expr AS CHAR)把表达式看作是默认字符集中的字符串。
- CAST(expr AS float(M,D))、CAST(expr AS double(M,D))中 M 最大值 255,D 最大值 30。
- CAST(expr AS Float(X))指定长度,当 X<24 时,按照 float 处理;当24<X<=53 时按 double 的最大长度和精度处理
注意事项
使用 CAST()函数改变列类型为 DATE,DATETIME 或 TIME,只是标识此列,使其变为一个指定的数据类型,而不是改变列的值。
CAST()的最终执行结果将会转化为指定的列类型。
查询时将数据使用 cast 转化为 varchar(0)会输出空串,使用 create table as select from 从已有表中查询非空列进行转换 varchar 建新表,如果非空列转换成 varchar(0)会报错。
使用示例
示例 1:将 NOW()转换为 DATE 类型。
gbase> SELECT CAST(NOW() AS DATE) FROM dual;
+---------------------+
| CAST(NOW() AS DATE) |
+---------------------+
| 2020-04-01 |
+---------------------+
1 row in set示例 2:字符串和数字类型的转换是隐式操作,用户使用时只要把字符串值当做一个数字即可。
gbase> SELECT 1+'1' FROM dual;
+-------+
| 1+'1' | +-------+
| 2 |
+-------+
1 row in set「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




