MySQL Select 语句中的 IF() 函数?
mysqlmysqli database
IF() 函数根据条件返回一个值。
语法如下 −
SELECT IF(yourCondition, yourMessageIfConditionBecomesTrue,yourMessageIfConditionBecomesFalse) from yourTableName; Let us first create a table: mysql> create table DemoTable ( Value int ); Query OK, 0 rows affected (0.60 sec)
使用 insert 命令在表中插入记录 −
mysql> insert into DemoTable values(1000); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values(2000); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values(500); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(1100); Query OK, 1 row affected (0.16 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable;
这将产生以下输出 −
+-------+ | Value | +-------+ | 1000 | | 2000 | | 500 | | 1100 | +-------+ 4 rows in set (0.00 sec)
这是在 MySQL 中实现 IF() 的查询 −
mysql> select Value,IF(Value > 1000, CONCAT(Value,' is greater than 1000'),CONCAT(Value,' is lower than 1000')) AS Result from DemoTable;
这将产生以下输出 −
+-------+---------------------------+ | Value | Result | +-------+---------------------------+ | 1000 | 1000 is lower than 1000 | | 2000 | 2000 is greater than 1000 | | 500 | 500 is lower than 1000 | | 1100 | 1100 is greater than 1000 | +-------+---------------------------+ 4 rows in set (0.00 sec)