SQLite3コア関数 ifnull,nullif,coalesce
ifnull
は2つの引数のうち最初の非NULL
引数を返す。coalesce
はifnull
の引数が3つ以上版。nullif
は2つの引数が異なるとき最初のを返す。それ以外の場合はNULL
を返す。
成果物
情報源
- https://www.sqlite.org/lang_corefunc.html#ifnull
- https://www.sqlite.org/lang_corefunc.html#nullif
- https://www.sqlite.org/lang_corefunc.html#coalesce
構文
select ifnull(X,Y); select coalesce(X,Y,...); select nullif(X,Y);
引数 or NULL
関数 | 概要 |
---|---|
ifnull(X,Y) |
最初の非NULL引数を返す。両方NULL ならNULL を返す |
coalesce(X,Y,...) |
最初の非NULL引数を返す。すべてNULL ならNULL を返す |
nullif(X,Y) |
引数が異なるなら最初の引数を返す。引数が同じ場合はNULL を返す |
例
select ifnull(1,2); 1 select ifnull(NULL,2); 2 select ifnull(1,NULL); 1 select ifnull(NULL,NULL); select ifnull(NULL,NULL) is NULL; 1 select coalesce(1,2,3); 1 select coalesce(NULL,2,3); 2 select coalesce(1,NULL,3); 1 select coalesce(1,2,NULL); 1 select coalesce(NULL,NULL,3); 3 select coalesce(NULL,NULL,NULL); select coalesce(NULL,NULL,NULL) is NULL; 1 select nullif(1,2); 1 select nullif(3,3); select nullif(3,3) is NULL; 1
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
- SQLite 3.29.0
- MeCab 0.996ユーザ辞書
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
- SQLite3学習 俯瞰まとめ
- SQLite3学習 環境構築まとめ
- SQLite3学習 インタフェースまとめ(C言語、CLI、対話モード、Tcl...)
- SQLite3学習 ドットコマンドまとめ
- SQLite3学習 JSON拡張まとめ
- SQLite3学習 FTSまとめ(ICU, MeCab)
- SQLite3学習 再帰クエリ(WITH RECURSIVE)
- SQLite3学習 R-Treeモジュール
- SQLite3学習 Geopoly(2次元ベクタ画像の生成)
- SQLite3学習 拡張関数(generate_series)
- SQLite3学習 拡張ライブラリ数学関数(extension-functions.c)
- SQLite3学習 謎と名前
- SQLite3学習 構文まとめ
- SQLite3関数の一覧と分類
- SQLite3コア関数の一覧と分類
- SQLite3コア関数 quote
- SQLite3コア関数 lower,upper
- SQLite3コア関数 trim,ltrim,rtrim
- SQLite3コア関数 replace
- SQLite3コア関数 glob
- SQLite3コア関数 like
- SQLite3コア関数 printf
- SQLite3コア関数 substr
- SQLite3コア関数 length
- SQLite3コア関数 instr
- SQLite3コア関数 unicode,char
- SQLite3コア関数 soundex
- SQLite3コア関数 likelihood,likely,unlikely
- SQLite3コア関数 abs
- SQLite3コア関数 max,min
- SQLite3コア関数 random
- SQLite3コア関数 round
- SQLite3コア関数 hex
- SQLite3コア関数 randomblob
- SQLite3コア関数 zeroblob