如何在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')
答案 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然后查询语句,否则报告错误.. 希望这能解决问题