正在加载

类型转换函数

Elastic Stack Serverless

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

CAST(
    expression
 AS data_type)
  1. 要转换的表达式。 如果 null,则函数返回 null
  2. 要转换为的目标数据类型

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

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(
    expression,
    data_type)
  1. 要转换的表达式。 如果 null,则函数返回 null
  2. 要转换为的目标数据类型

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

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

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

      int
---------------
123
© . All rights reserved.