类型转换函数编辑

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

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