类型转换函数

编辑

用于将一个数据类型的表达式转换为另一个数据类型的函数。

CAST

编辑

语法

CAST(
    expression 
 AS data_type) 

要转换的表达式。如果为 null,则函数返回 null

要转换的目标数据类型

描述: 将给定表达式的结果转换为目标数据类型。如果转换不可行(例如,由于目标类型太窄或由于值本身无法转换),则查询失败。

SELECT CAST('123' AS INT) AS int;

      int
---------------
123
SELECT CAST(123 AS VARCHAR) AS string;

    string
---------------
123
SELECT YEAR(CAST('2018-05-19T11:23:45Z' AS TIMESTAMP)) AS year;

     year
---------------
2018

ANSI SQL 和 Elasticsearch SQL 类型都受支持,前者优先。这仅影响 FLOAT,由于命名冲突,它被解释为 ANSI SQL,因此在 Elasticsearch 中映射到 double 而不是 float。要获取 Elasticsearch float,请将其转换为其 SQL 等效类型 real 类型。

CONVERT

编辑

语法

CONVERT(
    expression, 
    data_type)  

要转换的表达式。如果为 null,则函数返回 null

要转换的目标数据类型

描述: 与 CAST 的工作方式完全相同,但语法略有不同。此外,除了标准的数据类型 之外,它还支持相应的ODBC 数据类型

SELECT CONVERT('123', SQL_INTEGER) AS int;

      int
---------------
123
SELECT CONVERT('123', INTEGER) AS int;

      int
---------------
123