MariaDB CAST() 函数使用指南

在 MariaDB 中,BENCHMARK() 是一个内置函数,它将给定的值转为指定的类型值并返回。

MariaDB CAST() 语法

这里是 MariaDB CAST() 函数的语法:

CAST(expr AS data_type)

CAST(expr AS data_type) 等同于 CONVERT(expr, type)

参数

expr
必需的。 一个需要转换数据类型的值。
data_type
必需的。 目标数据类型。您可以使用下面的类型:
  • BINARY
  • CHAR
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • DOUBLE
  • FLOAT
  • INTEGER
  • SIGNED [INTEGER]
  • UNSIGNED [INTEGER]
  • TIME
  • VARCHAR

返回值

MariaDB CAST() 函数将任意数据类型的值转为指定的数据类型并返回。

MariaDB CAST() 示例

下面的示例展示了 MariaDB CAST() 函数的用法:

转为二进制

您可以是用 CAST() 函数将一个字符串转为二进制字符串。

SELECT CAST('hello' AS BINARY);

输出:

+-------------------------+
| CAST('hello' AS BINARY) |
+-------------------------+
| hello                   |
+-------------------------+

注意, 在 mysql client 中,二进制字符串默认以十六进制的形式打印出来。

您也可以使用 BINARY 操作符获取一个字符串的二进制字符串。如下:

SELECT BINARY 'hello';

输出:

+----------------+
| BINARY 'hello' |
+----------------+
| hello          |
+----------------+

转为整数

您可以使用 CAST() 函数将浮点数转为整数。

SELECT
  CAST(1.23 AS INT),
  CAST('1.23' AS INT),
  CAST('1.23A' AS INT);

输出:

+-------------------+---------------------+----------------------+
| CAST(1.23 AS INT) | CAST('1.23' AS INT) | CAST('1.23A' AS INT) |
+-------------------+---------------------+----------------------+
|                 1 |                   1 |                    1 |
+-------------------+---------------------+----------------------+

如果 MariaDB 不能将给定的值转为整数,MariaDB 将返回 0

SELECT CAST('abc' AS INT);

输出:

+--------------------+
| CAST('abc' AS INT) |
+--------------------+
|                  0 |
+--------------------+

转为日期时间

您可以使用 CAST() 函数将使用字符串表示的日期/时间值转为 DATE, DATETIME 类型的数据。

SELECT
    CAST('2022-02-28' AS DATE),
    CAST('10:10:10' AS TIME),
    CAST('2022-02-28 10:10:10' AS DATETIME);

输出:

+----------------------------+--------------------------+-----------------------------------------+
| CAST('2022-02-28' AS DATE) | CAST('10:10:10' AS TIME) | CAST('2022-02-28 10:10:10' AS DATETIME) |
+----------------------------+--------------------------+-----------------------------------------+
| 2022-02-28                 | 10:10:10                 | 2022-02-28 10:10:10                     |
+----------------------------+--------------------------+-----------------------------------------+

如果 MariaDB 不能将给定的值转为日期/时间类型, MariaDB 将返回 NULL

SELECT CAST('ABC' AS DATE);

输出:

+---------------------+
| CAST('ABC' AS DATE) |
+---------------------+
| NULL                |
+---------------------+

结论

在 MariaDB 中,BENCHMARK() 是一个内置函数,它将给定的值转为指定的类型值并返回。