辞書を扱う関数
DDL クエリで作成された辞書の場合、dict_name パラメーターは <database>.<dict_name> のように完全修飾名で指定する必要があります。省略した場合は、現在のデータベースが使用されます。
辞書の接続と設定の方法については、辞書を参照してください。
例となる辞書
このセクションの例では、次の辞書を使用します。以下で説明する関数の例を実行するには、これらを ClickHouse で作成してください。
dictGet<T> および dictGet<T>OrDefault 関数用の例となる辞書
dictGetAll 用の例となる辞書
regexp ツリー辞書用のデータを保存するテーブルを作成します:
テーブルにデータを挿入します:
regexp ツリー辞書を作成します:
範囲キー Dictionary の例
入力テーブルを作成します:
データを入力テーブルに挿入します:
Dictionary を作成します:
複合キー Dictionary の例
ソーステーブルを作成します:
データをソーステーブルに挿入します:
Dictionary を作成します:
階層型 Dictionary の例
ソーステーブルを作成します:
データをソーステーブルに挿入します:
Dictionary を作成します:
dictGet
初出バージョン: v18.16
Dictionary から値を取得します。
構文
引数
dict_name— Dictionary の名前。Stringattr_names— Dictionary のカラム名、またはカラム名のタプル。StringまたはTuple(String)id_expr— キー値。UInt64/Tuple(T) を返す式。UInt64またはTuple(T)
返り値
キーが見つかった場合、id_expr に対応する Dictionary の属性値を返します。
キーが見つからない場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
例
単一の属性を取得する
複数の属性
dictGetAll
導入バージョン: v23.5
Dictionary 属性値を、Dictionary の設定に関係なく All データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary で定義されたキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返し、
対応する値が存在しない場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の値を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetChildren
導入バージョン: v21.4
第 1 階層の子要素を索引の配列として返します。これは dictGetHierarchy の逆変換です。
構文
引数
dict_name— Dictionary の名前。Stringkey— 対象となるキー。const String
返される値
指定したキーに対する第一階層の子要素を返します。Array(UInt64)
例
Dictionary の第一階層の子要素を取得する
dictGetDate
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく Date 型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
それ以外の場合は、Dictionary 設定でその属性に対して指定された <null_value> 要素の内容を返します。
属性の値を解析できない場合、またはその値が属性のデータ型と一致しない場合、ClickHouse は例外を送出します。
例
使用例
dictGetDateOrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary の属性値を Date データ型に変換し、キーが見つからない場合は指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
存在しない場合は default_value_expr パラメータとして渡された値を返します。
ClickHouse は、属性の値を解析できない場合、または値が属性のデータ型と一致しない場合に例外をスローします。
例
使用例
dictGetDateTime
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく DateTime 型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値(Dictionary の構成に依存)を返す式。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返します。
対応する値が存在しない場合は、Dictionary 構成でその属性に対して指定された <null_value> 要素の内容を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetDateTimeOrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary の属性値を DateTime データ型に変換します。キーが見つからない場合は、指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返す値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary の属性値を返し、
存在しない場合は default_value_expr パラメータとして渡された値を返します。
属性値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetDescendants
導入バージョン: v21.4
dictGetChildren 関数を再帰的に level 回適用した場合と同様に、すべての子孫を返します。
構文
引数
dict_name— Dictionary の名前。Stringkey— チェックするキー。const Stringlevel— 階層レベル。level = 0の場合、末端までのすべての子孫を返します。UInt8
戻り値
指定したキーに対する子孫を返します。Array(UInt64)
使用例
Dictionary の第 1 階層の子要素を取得する
dictGetFloat32
v1.1 で導入。
Dictionary の属性の値を、Dictionary の設定に関係なく Float32 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返します。
それ以外の場合は、Dictionary の設定で当該属性に指定されている <null_value> 要素の内容を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外をスローします。
例
使用例
dictGetFloat32OrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary 属性の値を Float32 データ型に変換します。キーが見つからない場合は、指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定によって異なる)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、それ以外の場合は default_value_expr パラメータで渡された値を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetFloat64
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary 属性の値を Float64 型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary の属性(カラム)名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary の属性の値を返し、
それ以外の場合には、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
ClickHouse は、属性の値をパースできない場合、またはその値が属性のデータ型と一致しない場合には、例外をスローします。
例
使用例
dictGetFloat64OrDefault
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく Float64 データ型に変換するか、キーが見つからない場合は指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary で定義されたキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値(群)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
対応する値が存在しない場合は default_value_expr パラメータとして渡された値を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外をスローします。
例
使用例
dictGetHierarchy
導入バージョン: v1.1
階層型 Dictionary 内のキーについて、そのすべての親を含む配列を返します。
構文
引数
dict_name— Dictionary の名前。Stringkey— キーの値。const String
戻り値
キーに対応する親要素を返します。Array(UInt64)
例
キーの階層を取得する
dictGetIPv4
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定内容に関係なく IPv4 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary の属性値を返し、
それ以外の場合は、Dictionary 設定でその属性に対して指定された <null_value> 要素の内容を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外を送出します。
例
使用例
dictGetIPv4OrDefault
導入バージョン: v23.1
Dictionary の設定に関係なく、Dictionary の属性値を IPv4 データ型に変換するか、キーが見つからない場合には指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値またはタプル値を返す式(具体的な型は Dictionary の設定に依存します)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
該当する行が存在しない場合は、default_value_expr パラメータとして渡された値を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外をスローします。
例
使用例
dictGetIPv6
導入バージョン: v23.1
Dictionary の属性値を、Dictionary の設定に関係なく IPv6 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返します。
対応する値が存在しない場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
ClickHouse は、属性の値を解析できない場合、またはその値が属性のデータ型と一致しない場合、例外をスローします。
例
使用例
dictGetIPv6OrDefault
導入バージョン: v23.1
Dictionary の設定に関係なく、Dictionary の属性値を IPv6 データ型として変換します。キーが見つからない場合は、指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存します)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
それ以外の場合には default_value_expr パラメータとして渡された値を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt16
導入バージョン: v1.1
Dictionary の設定に関わらず、属性値を Int16 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返します。対応する値が存在しない場合は、Dictionary 設定でその属性に対して指定されている <null_value> 要素の内容を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt16OrDefault
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく Int16 データ型に変換します。キーが見つからない場合は、指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値を返す式 (Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary の属性の値を返し、存在しない場合は default_value_expr パラメータとして渡された値を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外をスローします。
例
使用例
dictGetInt32
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく Int32 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返します。
対応する値が存在しない場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
属性値を解釈できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt32OrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary 属性の値を Int32 データ型に変換し、キーが見つからない場合は指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーに対応する行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
存在しない場合は default_value_expr パラメータで渡された値を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt64
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定内容に関係なく Int64 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
それ以外の場合には、Dictionary 設定でその属性に対して指定された <null_value> 要素の内容を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt64OrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary の属性値を Int64 型に変換するか、キーが見つからない場合は指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存します)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary の属性の値を返し、
存在しない場合は default_value_expr パラメータとして渡された値を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt8
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定内容に関係なくデータ型 Int8 に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary の属性値を返します。
対応する値が存在しない場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
属性値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetInt8OrDefault
導入バージョン: v1.1
Dictionary の設定に関わらず、Dictionary 属性の値を Int8 データ型に変換するか、キーが見つからない場合は指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary の属性値を返し、
対応するものがない場合は default_value_expr パラメータとして渡された値を返します。
属性値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外を送出します。
例
使用例
dictGetKeys
導入バージョン: v25.12
指定された値と等しい属性を持つ Dictionary のキーを返します。この関数は、単一属性に対する dictGet の逆操作です。
dictGetKeys が利用する、クエリごとの逆引きキャッシュのサイズ上限を制御するには、max_reverse_dictionary_lookup_cache_size_bytes を設定します。
このキャッシュは、同一クエリ内で Dictionary を再スキャンすることを避けるために、各属性値ごとにシリアライズされたキーのタプルを保存します。
キャッシュはクエリ間で永続化されません。上限に達すると、LRU に基づいてエントリが破棄されます。
これは、入力のカーディナリティが低く、ワーキングセットがキャッシュに収まるような大きな Dictionary に対して最も効果的です。キャッシュを無効にするには 0 を設定します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— 照合対象の属性名。Stringvalue_expr— 属性と照合する値。Expression
返される値
単一キーの Dictionary の場合: 属性の値が value_expr と等しいキーの配列。複数キーの Dictionary の場合: 属性の値が value_expr と等しいキーのタプルの配列。Dictionary 内に value_expr に対応する属性が存在しない場合は、空配列が返されます。ClickHouse は、属性の値をパースできない場合、またはその値を属性のデータ型に変換できない場合に例外をスローします。
例
使用例
dictGetOrDefault
導入バージョン: v18.16
Dictionary から値を取得します。キーが見つからない場合は、指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_names— Dictionary のカラム名、またはカラム名のタプル。StringまたはTuple(String)id_expr— キー値。UInt64/Tuple(T) を返す式です。UInt64またはTuple(T)default_value— キーが見つからない場合に返すデフォルト値。型は属性のデータ型と一致している必要があります。
戻り値
キーが見つかった場合、id_expr で指定されたキーに対応する Dictionary 属性の値を返します。
キーが見つからない場合は、指定された default_value を返します。
使用例
デフォルト値付きで値を取得
dictGetOrNull
導入バージョン: v21.4
Dictionary から値を取得し、キーが存在しない場合は NULL を返します。
構文
引数
dict_name— Dictionary の名前。文字列リテラル。 -attr_name— 取得するカラムの名前。文字列リテラル。 -id_expr— キー値。Dictionary のキー型の値を返す式。
戻り値
キーが見つかった場合は、id_expr に対応する Dictionary の属性値を返します。
キーが見つからない場合は、NULL を返します。
例
範囲キーを持つ Dictionary を使用した例
dictGetString
v1.1 で導入。
Dictionary の設定に関係なく、Dictionary の属性値を String データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、該当するものがない場合は、Dictionary 設定でその属性に対して指定されている <null_value> 要素の内容を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetStringOrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary の属性値を String 型に変換するか、キーが見つからない場合は指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーの行が存在しない場合に返される値(複数可)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary の属性値を返し、
存在しない場合は default_value_expr パラメータとして渡された値を返します。
ClickHouse は、属性の値をパースできない場合、またはその値が属性のデータ型と一致しない場合に例外を送出します。
例
使用例
dictGetUInt16
v1.1 で導入。
Dictionary の属性値を、Dictionary の設定に依存せず UInt16 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary の属性の値を返します。
それ以外の場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外をスローします。
例
使用例
dictGetUInt16OrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary の属性値を UInt16 データ型に変換するか、キーが見つからない場合は指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
存在しない場合には default_value_expr パラメータとして渡された値を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外を送出します。
例
使用例
dictGetUInt32
導入バージョン: v1.1
この関数は、Dictionary の属性値を Dictionary の設定に関係なく UInt32 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
対応する値がない場合は、Dictionary の設定でその属性に対して指定された <null_value> 要素の内容を返します。
ClickHouse は、属性の値をパースできない場合、または値が属性のデータ型と一致しない場合に例外を発生させます。
例
使用例
dictGetUInt32OrDefault
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく UInt32 データ型に変換します。キーが見つからない場合は、指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値(複数の場合もあり)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
存在しない場合は default_value_expr パラメータで渡された値を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外を送出します。
例
使用例
dictGetUInt64
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定内容にかかわらず UInt64 データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型、またはタプル型(Dictionary の設定に依存)の値を返す式。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返します。
対応する値がない場合は、Dictionary の設定でその属性に対して指定されている <null_value> 要素の内容を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetUInt64OrDefault
追加されたバージョン: v1.1
Dictionary の属性値を、Dictionary の設定内容に関係なく UInt64 データ型に変換します。キーが見つからない場合は、指定したデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーとなる値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値(群)。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返し、
それ以外の場合には default_value_expr パラメータとして渡された値を返します。
属性の値を解析できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetUInt8
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく UInt8 型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、該当するキーが存在しない場合は、Dictionary 設定でその属性に対して指定された <null_value> 要素の内容を返します。
属性の値を解釈できないか、値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictGetUInt8OrDefault
導入バージョン: v1.1
Dictionary の設定にかかわらず、Dictionary の属性値を UInt8 データ型に変換します。キーが見つからない場合は、指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キー値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存します)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
戻り値
id_expr に対応する Dictionary 属性の値を返し、
存在しない場合は default_value_expr パラメータで渡された値を返します。
属性の値をパースできない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外を発生させます。
例
使用例
dictGetUUID
導入バージョン: v1.1
Dictionary の属性値を、Dictionary の設定に関係なく UUID データ型に変換します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値(Dictionary の設定に依存)を返す式。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返し、
それ以外の場合には、Dictionary 設定においてその属性に対して指定された <null_value> 要素の内容を返します。
ClickHouse は、属性の値を解析できない場合、または値が属性のデータ型と一致しない場合に例外を発生させます。
例
使用例
dictGetUUIDOrDefault
導入バージョン: v1.1
Dictionary の設定に関係なく、Dictionary の属性値を UUID データ型に変換し、キーが見つからない場合は指定されたデフォルト値を返します。
構文
引数
dict_name— Dictionary の名前。Stringattr_name— Dictionary のカラム名。StringまたはTuple(String)id_expr— キーの値。Dictionary のキー型の値、またはタプル値を返す式(Dictionary の設定に依存)。ExpressionまたはTuple(T)default_value_expr— Dictionary にid_exprキーを持つ行が存在しない場合に返される値。ExpressionまたはTuple(T)
返される値
id_expr に対応する Dictionary 属性の値を返し、
それ以外の場合には、default_value_expr パラメータとして渡された値を返します。
属性の値を解釈できない場合、または値が属性のデータ型と一致しない場合、ClickHouse は例外をスローします。
例
使用例
dictHas
導入: v1.1
Dictionary にキーが存在するかどうかを判定します。
構文
引数
dict_name— Dictionary の名前。Stringid_expr— キー値。const String
返される値
キーが存在する場合は 1、存在しない場合は 0 を返します。UInt8
例
Dictionary 内にキーが存在するか確認する
dictIsIn
導入バージョン: v1.1
Dictionary 内で階層構造全体をたどって、キーの祖先を判定します。
構文
引数
dict_name— Dictionary の名前。Stringchild_id_expr— チェックするキー。Stringancestor_id_expr—child_id_exprキーの想定される祖先キー。const String
返される値
child_id_expr が ancestor_id_expr の子でない場合は 0、child_id_expr が ancestor_id_expr の子である場合、または child_id_expr 自体が ancestor_id_expr である場合は 1 を返します。UInt8
使用例
階層関係のチェック