例如:(选择IF(u.username = 1,“男性”,“女性”))作为性别这是有效但我有三个值1,2和3。 当值为1时,将返回male,当值为2时,将返回female;当值为3时,将返回两者。
请帮我找到解决方法。 提前谢谢。
答案 0 :(得分:3)
您可以使用与CASE EXPRESSION
非常相似但不受要处理的值数量限制的IF
:
SELECT CASE WHEN u.username = 1 THEN 'Male'
WHEN u.username = 2 THEN 'Female'
WHEN u.username = 3 THEN 'Both'
.....
END
答案 1 :(得分:2)
请检查此查询:
SELECT CASE u.username
WHEN 1 THEN 'MALE'
WHEN 2 THEN 'FEMALE'
ELSE 'BOTH'
END
FROM user;
答案 2 :(得分:1)
或者您使用ELT()函数:
SELECT ELT('2','Male','Female','Both');
<强>样品强>
MariaDB [(none)]> SELECT ELT(2,'Male','Female','Both');
+-------------------------------+
| ELT(2,'Male','Female','Both') |
+-------------------------------+
| Female |
+-------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]>
答案 3 :(得分:1)
我找到了简单的答案: IF(性别= 1,&#39;男性&#39;,IF(性别= 2,&#39;女性&#39;两者&#39;))AS性
无论如何感谢回复.. 欢呼声!!! ...