2012-03-16 160 views
0

這個場景的SQL語句是什麼?if語句,修改輸出

tbl_user_account 

id INT(11) 
name varchar(100) 
username varchar(25) 
password varchar(25) 
active int(1) 


_____________________________________ 
|id|name | username|password |active| 
_____________________________________ 
|1 |John | jhon123 | [email protected] | 1 | 
|2 |Maria| maria321| [email protected]  | 0 | 

我想獲取所有記錄,但活動現場必須輸出 「YES」,如果是1或「否」,如果是0

我想這樣的輸出:


|id|name | username|password |active| 
_____________________________________ 
|1 |John | jhon123 | [email protected] | Yes | 
|2 |Maria| maria321| [email protected]  | No | 

我是否需要創建一個函數或只是一個if語句?

+2

注意,'INT(1)' - 了'1'實際上並沒有任何限制,它只是用於顯示。你可以考慮使用'BOOL'類型(它實際上是'TINYINT(1)'的同義詞),但是你仍然保存3個字節。 – mpen 2012-03-16 01:17:22

回答

1

試試這個:

select id, name, username, password, if (active >0, "YES", "NO") from table_name 
+0

select * from tbl_user_account if(active> 0,「YES」,「NO」)? – rjmcb 2012-03-16 01:14:57

+2

我會簡化爲IF(主動,'是','否')。 '> 0'在這裏並沒有做任何事情...... MySQL喜歡1和0的布爾值。 – mpen 2012-03-16 01:15:41

1
SELECT id, name, username, password, 
    CASE active 
    WHEN 0 THEN "no" 
    WHEN 1 THEN "yes" 
    ELSE "Umm" 
    END 
FROM tbl_user_account