暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

查询中使用类型转换函数

SQL新手 2022-12-08
535

类型转换函数可以将一种数据类型转换为另外一种数据类型,例如数值类型和时间类型与字符串类型的相互转换。

本文通过具体示例介绍如何在查询中使用类型转换函数。

示例 1:时间字符串转换为时间类型

在 OceanBase 数据库 MySQL 模式下,时间字符串可以直接复制给 DATE 类型,OceanBase 数据库可以将其自动转换为时间类型,另外也可以使用 CONVERT() 或 CAST() 函数做数据类型转换。SQL 语句示例如下:

obclient> SELECT CONVERT('2020-02-02 14:30:45', DATE)    t1
    , CONVERT('2020-02-02 14:30:45', TIME)      t2
    , CONVERT('2020-02-02 14:30:45', DATETIME)  t3
    , CAST('2020-02-02 14:30:45' AS DATE)       t4
    , CAST('2020-02-02 14:30:45' AS TIME)       t5
    , CAST('2020-02-02 14:30:45' AS DATETIME)   t6
\G

*************************** 1. row ***************************
t1: 2020-02-02
t2: 14:30:45
t3: 2020-02-02 14:30:45
t4: 2020-02-02
t5: 14:30:45
t6: 2020-02-02 14:30:45
1 row in set 

说明

使用函数 DATE_FORMAT 可以将时间类型转换为字符串类型。

示例 2:数值类型和字符串类型互相转换

在 OceanBase 数据库 MySQL 租户中,可以使用 CONVERT() 或 CAST() 函数实现数值类型和字符串类型的互相转换。

obclient> SELECT CONVERT('3.1415926', DECIMAL)  n1
    , CAST('3.1415926' AS DECIMAL)      n2
    , CONVERT(3.1415926, CHAR(10))      s1
    , CAST(3.1414926 AS CHAR(10))       s2;
+------+------+-----------+-----------+
| n1   | n2   | s1        | s2        |
+------+------+-----------+-----------+
|    3 |    3 | 3.1415926 | 3.1414926 |
+------+------+-----------+-----------+
1 row in set
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论