辞書を扱う関数
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 の設定に関わらず、属性値を 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 の設定に関係なく、属性値を 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 の設定に関係なく、その属性値を 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 の設定にかかわらず、属性値を 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 の属性値を、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 の設定にかかわらず属性値を 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 の設定に関係なく、その属性値を 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
例
階層関係の確認