Nullable 値を扱う関数
isNull
引数が NULL であるかどうかを返します。
IS NULL
演算子も参照してください。
構文
エイリアス: ISNULL
.
引数
x
— 非複合データ型の値。
返される値
x
がNULL
の場合は1
。x
がNULL
でない場合は0
。
例
テーブル:
クエリ:
結果:
isNullable
カラムが Nullable である場合は 1
を返し(つまり、NULL
値を許可)、そうでない場合は 0
を返します。
構文
引数
x
— カラム。
返される値
例
クエリ:
結果:
isNotNull
引数が NULL でないかを返します。
IS NOT NULL
演算子も参照してください。
引数:
x
— 非複合データ型の値。
返される値
x
がNULL
でない場合は1
。x
がNULL
の場合は0
。
例
テーブル:
クエリ:
結果:
isNotDistinctFrom
NULL 安全比較を実行します。これは、JOIN ON セクションに NULL 値を含む JOIN キーを比較するために使用されます。
この関数は、2 つの NULL
値を同一と見なし、true
を返します。これは、通常の等値比較の動作とは異なり、2 つの NULL
値を比較すると NULL
が返されるということです。
この関数は、JOIN ON の実装で使用される内部関数です。クエリで手動で使用しないでください。
構文
引数
x
— 最初の JOIN キー。y
— 2 番目の JOIN キー。
返される値
x
とy
が両方ともNULL
の場合はtrue
。- そうでない場合は
false
。
例
完全な例については、JOIN キーの NULL 値 を参照してください。
isZeroOrNull
引数が 0(ゼロ)または NULL であるかどうかを返します。
引数:
x
— 非複合データ型の値。
返される値
x
が 0(ゼロ)またはNULL
の場合は1
。- それ以外は
0
。
例
テーブル:
クエリ:
結果:
coalesce
最も左の非 NULL
引数を返します。
引数:
- 複合型でない任意の数のパラメータ。すべてのパラメータは相互に互換性のあるデータ型でなければなりません。
返される値
- 最初の非
NULL
引数 - すべての引数が
NULL
の場合はNULL
。
例
顧客への連絡方法を複数指定する可能性のある連絡先のリストを考えます。
mail
と phone
フィールドは文字列型ですが、telegram
フィールドは UInt32
なので、文字列に変換する必要があります。
顧客からの連絡方法のリストから最初に利用可能な連絡方法を取得します。
ifNull
引数が NULL
の場合、代替値を返します。
引数:
x
—NULL
をチェックする値。alt
—x
がNULL
の場合に関数が返す値。
返される値
x
がNULL
でない場合はx
。x
がNULL
の場合はalt
。
例
クエリ:
結果:
クエリ:
結果:
nullIf
両方の引数が等しい場合に NULL
を返します。
引数:
x
, y
— 比較する値。互換性のある型でなければなりません。
返される値
- 引数が等しい場合は
NULL
。 - 引数が等しくない場合は
x
。
例
クエリ:
結果:
クエリ:
結果:
assumeNotNull
Nullable 型の値に対し、対応する非 Nullable
値を返します。元の値が NULL
の場合、適当な結果が返されることがあります。ifNull
および coalesce
関数も参照してください。
引数:
x
— 元の値。
返される値
- 入力値が
NULL
でない場合は非Nullable
型の入力値。 - 入力値が
NULL
の場合は任意の値。
例
テーブル:
クエリ:
結果:
クエリ:
結果:
toNullable
引数の型を Nullable
に変換します。
引数:
x
— 非複合型の値。
返される値
- 入力値だが、
Nullable
型の値。
例
クエリ:
結果:
クエリ:
結果: