MySQL SELECT中的比较

时间:2012-07-11 04:56:30

标签: mysql comparison

MySQL是否可以执行以下操作:

SELECT username, age, age>13 AS ageGT FROM users

得到类似的东西:

+--------+---+-----+
|username|age|ageGT|
+--------+---+-----+
|fred    |14 |true |
|bob     |12 |false|
+--------+---+-----+

这将是一个巨大的帮助,谢谢!

澄清:我不是在寻找WHERE子句,我想选择两种情况,但有一个列显示该子句是否为真或假。

2 个答案:

答案 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 ExpressionsIF() Function

一个重要的区别是所有主要DBMS都支持CASE表达式语法,而IF()几乎是MySQL特有的。

答案 1 :(得分:2)

SELECT username, 
age, 
case when age>13 then 'true' else 'false' end AS ageGT 
FROM users