mysql查询中的多个条件语句

时间:2018-01-04 15:44:19

标签: mysql sql

如何在mysql查询中写if else if语句

如果字符串是三个字符,则首先检查国家代码 如果字符串是五个字符检查国家名称 否则,请检查城市名称或国家/地区名称

就像这样

SELECT * FROM `geo_allcities` WHERE if(country_code3)='pak' 
else if(SUBSTRING(country_name, 1, 5))='pakis' 
else ( country_name LIKE'other string%' OR city_name like 'other string')

3 个答案:

答案 0 :(得分:2)

不需要if语句,您可以简单地放置or条件

SELECT * FROM `geo_allcities` 
WHERE country_code3='pak' or 
SUBSTRING(country_name, 1, 5)='pakis' or
  country_name LIKE'other string%' OR 
city_name like 'other string'

答案 1 :(得分:0)

您可以使用CASE EXPRESSION。

有关详细信息,请访问:https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#operator_case

示例:

SELECT col1, col2, (case when (action = 2 and state = 0) 
 THEN
      1 
 ELSE
      0 
 END)
 as state from tbl;

答案 2 :(得分:0)

首先是使用字符串长度函数检查字符串长度,例如if(queryString.length())= 5然后查询语句,否则if(queryString.length())= 3然后查询语句,否则报告错误.. 希望这能解决问题