型変換関数

異なるデータ型の式を別のデータ型に変換するための関数。

CAST

概要:

Sql

  1. CAST(
  2. expression
  3. AS data_type)
キャストする式。もし null の場合、関数は null を返します。
キャストする対象のデータ型

説明: 指定された式の結果を対象の データ型 にキャストします。キャストが不可能な場合(例えば、対象の型が狭すぎる場合や、値自体が変換できない場合など)、クエリは失敗します。

Sql

  1. SELECT CAST('123' AS INT) AS int;
  2. int
  3. ---------------
  4. 123

Sql

  1. SELECT CAST(123 AS VARCHAR) AS string;
  2. string
  3. ---------------
  4. 123

Sql

  1. SELECT YEAR(CAST('2018-05-19T11:23:45Z' AS TIMESTAMP)) AS year;
  2. year
  3. ---------------
  4. 2018

ANSI SQL と Elasticsearch SQL の両方の型がサポートされており、前者が優先されます。これは FLOAT にのみ影響し、名前の衝突のため、ANSI SQL と解釈され、したがって Elasticsearch では double にマッピングされ、float とは異なります。Elasticsearch float を取得するには、その SQL の同等物である real 型にキャストを行います。

CONVERT

概要:

Sql

  1. CONVERT(
  2. expression,
  3. data_type)
変換する式。もし null の場合、関数は null を返します。
変換する対象のデータ型

説明: CAST とまったく同じように機能しますが、構文がわずかに異なります。さらに、標準の データ型 に加えて、対応する ODBC データ型 もサポートしています。

Sql

  1. SELECT CONVERT('123', SQL_INTEGER) AS int;
  2. int
  3. ---------------
  4. 123

Sql

  1. SELECT CONVERT('123', INTEGER) AS int;
  2. int
  3. ---------------
  4. 123