MySQL是否可以执行以下操作:
SELECT username, age, age>13 AS ageGT FROM users
。
得到类似的东西:
+--------+---+-----+
|username|age|ageGT|
+--------+---+-----+
|fred |14 |true |
|bob |12 |false|
+--------+---+-----+
这将是一个巨大的帮助,谢谢!
澄清:我不是在寻找WHERE
子句,我想选择两种情况,但有一个列显示该子句是否为真或假。
答案 0 :(得分:6)
你可以CASE WHEN age > 13 THEN 'true' ELSE 'false' END AS ageGT
:
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。
一个重要的区别是所有主要DBMS都支持CASE
表达式语法,而IF()
几乎是MySQL特有的。
答案 1 :(得分:2)
SELECT username,
age,
case when age>13 then 'true' else 'false' end AS ageGT
FROM users