跳到主要内容

查询中使用类型转换函数

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

类型转换函数

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

示例

时间字符串转换为时间类型

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

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 可以将时间类型转换为字符串类型。

数值类型和字符串类型互相转换

在 seekdb 中,可以使用 CONVERT()CAST() 函数实现数值类型和字符串类型的互相转换。

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