IF 语句如何书写
If 语句的格式如下:
IF(, , )
一个简单的例子,例子一返回 1,例子二返回 0
SELECT IF( 'a' = 'a', 1, 0 );SELECT IF( 'a' = 'b', 1, 0 );
在 WHERE 查询语句中使用 IF
下面的例子展示如何在 WHERE 查询语句中使用 IF
SELECT ...WHERE ...AND IF(myfield = 'somevalue', 1, 0) = 1当然,上面的简单例子还可以用更简便的方法,不用 IF 去写 SQL,代码如下,上面的例子只是举个如何在 WHERE 查询语句中使用 IF
SELECT ...WHERE ...AND myfield = 'somevalue'
编码过程中,IF 语句还可以嵌套使用从而简化原有的 SQL 语句,例子如下:
SELECT ...WHERE ...AND IF(myfield = 'somevalue', IF(otherfield = 12345, 1, 0), 0) = 1
上面的条件语句,如果不用 IF 可以写成这样:
SELECT ...WHERE ...AND ( (myfield = 'somevalue' AND otherfield = 12345) OR myfield != 'somevalue' )
你是否可以再 WHERE 条件语句中使用 IF 语句?
可能用不着吧。这不是最高效的方法来处理条件语句。在理想的情况下你应该已经使用 WHERE 语句处理了绝大部分的过滤,但是如果实在有必要,请慎用。
以上文章仅作参考,是否使用此方法取决于你 :)
原文地址: