MySQL是否可以执行如下操作:SELECT username, age, age>13 AS ageGT FROM users
。
然后得到如下信息:
+--------+---+-----+
|username|age|ageGT|
+--------+---+-----+
|fred |14 |true |
|bob |12 |false|
+--------+---+-----+
?
这将是一个巨大的帮助,谢谢!
澄清:我不是在寻找一个
WHERE
子句,我想同时选择这两种情况,但是有一个列显示该子句的计算结果是真是假。 最佳答案
你可以这样做:
SELECT
username,
age,
CASE WHEN age > 13 THEN 'true' ELSE 'false' END AS ageGT
FROM users
或者更简单地说:
IF(age>13, 'true', 'false') AS ageGT
阅读有关CASE Expressions和IF() Function的更多信息。
一个重要的区别是
CASE WHEN age > 13 THEN 'true' ELSE 'false' END AS ageGT
表达式语法由所有主要的dbms支持,而CASE
是MySQL特有的语法。