型変換関数
異なるデータ型の式を別のデータ型に変換するための関数。
CAST
概要:
Sql
CAST(
expression
AS data_type)
キャストする式。もし null の場合、関数は null を返します。 |
|
キャストする対象のデータ型 |
説明: 指定された式の結果を対象の データ型 にキャストします。キャストが不可能な場合(例えば、対象の型が狭すぎる場合や、値自体が変換できない場合など)、クエリは失敗します。
Sql
SELECT CAST('123' AS INT) AS int;
int
---------------
123
Sql
SELECT CAST(123 AS VARCHAR) AS string;
string
---------------
123
Sql
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
概要:
Sql
CONVERT(
expression,
data_type)
変換する式。もし null の場合、関数は null を返します。 |
|
変換する対象のデータ型 |
説明: CAST
とまったく同じように機能しますが、構文がわずかに異なります。さらに、標準の データ型 に加えて、対応する ODBC データ型 もサポートしています。
Sql
SELECT CONVERT('123', SQL_INTEGER) AS int;
int
---------------
123
Sql
SELECT CONVERT('123', INTEGER) AS int;
int
---------------
123