2008/11/21

[mysql]oracle's nvl() is IFNULL

oracleのnvl相当に対応するmysqlの関数を探していたら、やっとみつかった。

expr1 が NULL でない場合は expr1 を返し、それ以外の場合は expr2 を返す。
IFNULL() は、使用されているコンテキストに応じて、数値または文字列を返す。

via:IFNULL(expr1,expr2)

というわけで、例をみてみる。

SELECT IFNULL(1,0);
-> 1
SELECT IFNULL(NULL,10);
-> 10
SELECT IFNULL(1/0,10);
-> 10
SELECT IFNULL(1/0,'yes');
-> 'yes'
via:IFNULL(expr1,expr2)


やっとこれで、null回避処理ができる。

0 コメント:

コメントを投稿