[英]Is there such thing as a SELECT with an IF/ELSE statement in mySQL?
是否可以在mySQL中使用帶有IF / ELSE子句的SELECT語句?
例如
我想SELECT所有表行並返回color2 ONLY如果color2是'棕色'。 我想要完成的我的示例SQL select語句如下所示。
APPLES +------+--------+----------+----------+ | ID | NAME | COLOR1 | COLOR2 | +------+--------+----------+----------+ | 1 | apple1 | red | brown | +------+--------+----------+----------+ | 2 | apple2 | red | green | +------+--------+----------+----------+
SELECT name,(IF color2 ='brown'SELECT color2 ELSE SELECT color1)AS顏色來自蘋果
會回來:
+----------+----------+ | apple1 | brown | +----------+----------+ | apple2 | red | +----------+----------+
MySQL有一個IF()函數:
SELECT name, IF(color2='brown', color2, color1) AS color FROM apples
采用:
SELECT a.name,
CASE WHEN a.color2 = 'brown' THEN a.color2 ELSE a.color1 END AS color
FROM apples a
參考: CASE
CASE語句允許IF / ELSE或類似SWITCH的功能,並且具有ANSI標准的優點。 該查詢適用於SQL Server,Oracle,MySQL ......
查看MySQL參考手冊中的CASE
語句。
控制流功能文檔應該可以幫助您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.