IF(expr1,expr2,expr3)
expr1 が TRUE である場合は ( expr1 <> 0 および expr1 <> NULL ) 、
IF() は expr2 を戻します。それ以外では、expr3 を戻します。IF() は、
使用されている文脈によって、数値値もしくはストリング値を戻します。
mysql> SELECT IF(1<2,'yes','no');
+--------------------+
| IF(1<2,'yes','no') |
+--------------------+
| yes |
+--------------------+
1 row in set (0.00 sec)
mysql> SELECT IF(3<2,'yes','no');
+--------------------+
| IF(3<2,'yes','no') |
+--------------------+
| no |
+--------------------+
1 row in set (0.00 sec)
mysql>
mysql> SELECT
-> IF(comment IS NOT NULL,
-> CONCAT(comment,' IS VALID'),
-> 'IS NULL DATA')
-> AS 'Happy or Sad'
-> FROM test.a10;
+---------------+
| Happy or Sad |
+---------------+
| IS NULL DATA |
| IS NULL DATA |
| IS NULL DATA |
| IS NULL DATA |
| data IS VALID |
| test IS VALID |
+---------------+
6 rows in set (0.00 sec)
mysql>