MariaDB CAST() 函数的基础用法与实例
MariaDB CAST()
函数是一个类型转换函数,它可以将一个表达式的数据类型转换为另一个指定的数据类型。
MariaDB CAST()
函数是一个类型转换函数,它可以将一个表达式的数据类型转换为另一个指定的数据类型。CAST()
函数可以用于处理不同数据类型之间的运算,比如字符串和数字,日期和时间等。CAST()
函数也可以用于格式化输出,比如将数字转换为货币格式,将日期转换为特定的格式等。
语法
CAST()
函数的语法如下:
CAST(expression AS type)
其中,expression
是要转换的表达式,可以是任何有效的 MariaDB 表达式。type
是要转换的目标数据类型,可以是以下之一:
BINARY[(N)]
:将表达式转换为二进制字符串,如果指定了N
,则截断或填充为N
个字节。CHAR[(N)]
:将表达式转换为字符字符串,如果指定了N
,则截断或填充为N
个字符。DATE
:将表达式转换为日期值,格式为YYYY-MM-DD
。DATETIME
:将表达式转换为日期时间值,格式为YYYY-MM-DD HH:MM:SS
。DECIMAL[(M[,D])]
:将表达式转换为十进制数,如果指定了M
,则表示总位数,如果指定了D
,则表示小数位数。DOUBLE
:将表达式转换为双精度浮点数。INTEGER
:将表达式转换为整数。SIGNED
:将表达式转换为有符号整数。TIME
:将表达式转换为时间值,格式为HH:MM:SS
。UNSIGNED
:将表达式转换为无符号整数。
实例
下面是一些使用 CAST()
函数的实例,包括相关的代码,说明,以及代码的运行结果。
将字符串转换为数字
在这个实例中,我们使用 CAST()
函数将字符串 '123'
和 '3.14'
转换为数字,然后进行加法运算。
SELECT CAST('123' AS INTEGER) + CAST('3.14' AS DOUBLE) AS result;
输出结果如下:
+--------+
| result |
+--------+
| 126.14 |
+--------+
将数字转换为字符串
在这个实例中,我们使用 CAST()
函数将数字 123
和 3.14
转换为字符串,然后进行字符串连接运算。
SELECT CONCAT(CAST(123 AS CHAR), CAST(3.14 AS CHAR)) AS result;
输出结果如下:
+---------+
| result |
+---------+
| 1233.14 |
+---------+
说明:如果不使用 CAST()
函数,直接将数字连接,会得到一个数字相加的结果,而不是字符串连接的结果。比如:
SELECT 123 + 3.14 AS result;
输出结果如下:
+--------+
| result |
+--------+
| 126.14 |
+--------+
将日期转换为字符串
在这个实例中,我们使用 CAST()
函数将日期值 2024-02-07
转换为字符串,然后使用 SUBSTRING()
函数提取其中的年份、月份和日期。
SELECT SUBSTRING(CAST('2024-02-07' AS CHAR), 1, 4) AS year,
SUBSTRING(CAST('2024-02-07' AS CHAR), 6, 2) AS month,
SUBSTRING(CAST('2024-02-07' AS CHAR), 9, 2) AS day;
输出结果如下:
+------+-------+------+
| year | month | day |
+------+-------+------+
| 2024 | 02 | 07 |
+------+-------+------+
说明:如果不使用 CAST()
函数,直接将日期值作为字符串处理,会得到一个错误的结果,因为日期值会被隐式转换为数字。
将数字转换为货币格式
在这个实例中,我们使用 CAST()
函数将数字 123456.78
转换为货币格式,即保留两位小数,并在前面加上人民币符号 ¥
。
SELECT CONCAT('¥', CAST(123456.781 AS DECIMAL(10,2))) AS result;
输出结果如下:
+------------+
| result |
+------------+
| ¥123456.78 |
+------------+
说明:如果不使用 CAST()
函数,直接将数字作为字符串连接,会得到一个不符合货币格式的结果,因为数字会被隐式转换为字符串,而不会保留两位小数。比如:
SELECT CONCAT('¥', 123456.789) AS result;
输出结果如下:
+-------------+
| result |
+-------------+
| ¥123456.789 |
+-------------+
相关函数
除了 CAST()
函数外,MariaDB 还提供了一些其他的类型转换函数,如下:
BINARY()
:将表达式转换为二进制字符串,等同于CAST(expression AS BINARY)
。CHAR()
:将表达式转换为字符字符串,等同于CAST(expression AS CHAR)
。CONVERT()
:将表达式转换为指定的数据类型,等同于CAST(expression AS type)
。DATE()
:将表达式转换为日期值,等同于CAST(expression AS DATE)
。
结论
本文介绍了 MariaDB CAST()
函数的基础用法与实例,以及与之相关的一些其他的类型转换函数。CAST()
函数可以将一个表达式的数据类型转换为另一个指定的数据类型,从而实现不同数据类型之间的运算,格式化输出,或者其他的目的。CAST()
函数的语法是 CAST(expression AS type)
,其中 type
可以是多种数据类型之一。本文还给出了一些使用 CAST()
函数的实例,以及使用其他类型转换函数的实例,以便于读者更好地理解和应用这些函数。