2012-07-11 2 views
1

MySQL은 다음과 같은 것을 가능하게합니다 :MySQL SELECT에서의 비교

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

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

: 같은

얻을 무엇인가?

이것은 큰 도움이 될 것입니다. 감사합니다!

설명 : 나는 WHERE 절을 찾고 있지는 않지만 두 경우를 모두 선택하려고하지만 절이 true 또는 false로 평가되는지 여부를 나타내는 열이 있습니다.

답변

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에.

중요한 차이점은 CASE 표현 구문이 모든 주요 DBMS에서 지원된다는 점입니다. 반면에 IF()은 MySQL과 매우 유사합니다.

+0

매우 감사합니다. – JJJollyjim

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