やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3コア関数 ifnull,nullif,coalesce

 ifnullは2つの引数のうち最初の非NULL引数を返す。coalesceifnullの引数が3つ以上版。nullifは2つの引数が異なるとき最初のを返す。それ以外の場合はNULLを返す。

成果物

情報源

構文

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

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで