宣言
IF(expr1,expr2,expr3)
説明
expr1 の値が TRUE (つまり、expr1<>0 かつ expr1<>NULL)の場合、結果は expr2 を返します。そうでない場合は、結果は expr3 を返します。
IF() の戻り値は、使用する内容に応じて数値型または文字列型になります。
expr2 と expr3 のうち、明示的に NULL となっているものが1つだけの場合、IF() 関数の結果型は、NULL ではない式の結果型になります。
例
obclient> SELECT IF(5>6, 'T','F'), IF (5>6, 1, 0), IF(NULL, 'TRUE', 'FALSE'), IF(0, 'TRUE', 'FALSE')\G
*************************** 1. row ***************************
IF(5>6, 'T','F'): F
IF (5>6, 1, 0): 0
IF(NULL, 'TRUE', 'FALSE'): FALSE
IF(0, 'TRUE', 'FALSE'): FALSE
1 row in set