Type Conversion Functions

edit

Functions for converting an expression of one data type to another.

CAST

edit

Synopsis:

CAST(
    expression 
 AS data_type) 

Expression to cast

Target data type to cast to

Description: Casts the result of the given expression to the target data type. If the cast is not possible (for example because of target type is too narrow or because the value itself cannot be converted), the query fails.

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

Both ANSI SQL and Elasticsearch SQL types are supported with the former taking precedence. This only affects FLOAT which due naming conflict, is interpreted as ANSI SQL and thus maps to double in Elasticsearch as oppose to float. To obtain an Elasticsearch float, perform casting to its SQL equivalent, real type.

CONVERT

edit

Synopsis:

CONVERT(
    expression, 
    data_type)  

Expression to convert

Target data type to convert to

Description: Works exactly like CAST with slightly different syntax. Moreover, apart from the standard data types it supports the corresponding ODBC data types.

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

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

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