MySQL SELECT中的比较

JJJ*_*jim 1 mysql comparison

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

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

得到类似的东西:

+--------+---+-----+
|username|age|ageGT|
+--------+---+-----+
|fred    |14 |true |
|bob     |12 |false|
+--------+---+-----+
Run Code Online (Sandbox Code Playgroud)

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

澄清:我不是在寻找一个WHERE子句,我想选择这两种情况,但是有一个列显示该子句是评估true还是false.

Zan*_*ien 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
Run Code Online (Sandbox Code Playgroud)

或者更简单:

IF(age>13, 'true', 'false') AS ageGT
Run Code Online (Sandbox Code Playgroud)

阅读有关CASE表达式IF()函数的更多信息.

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