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 ExpressionsIF() Function的更多信息。
一个重要的区别是CASE WHEN age > 13 THEN 'true' ELSE 'false' END AS ageGT表达式语法由所有主要的dbms支持,而CASE是MySQL特有的语法。

10-04 21:08