2013-04-22 11 views
8

Supponiamo di avere uno status di campo (0 per disabili, 1 per abilitato), e abbiamo bisogno di ottenere i valori letterali direttamente utilizzando MySQL, in altre parole: se abbiamo chiesto la query:Come mappare chiavi di valori per un singolo campo in un MySQL query di selezione

select status 
from `<table>` 

Dobbiamo colonna di apparire in questo modo:

status 
---------- 
disabled 
enabled 
non

come segue:

status 
-------- 
    0 
    1 

Sapendo che non abbiamo una tabella di stato mysql da associare e ottenere i valori come al solito.

+0

utilizzare 'CASE' in mysql –

risposta

14

Si potrebbe utilizzare un'istruzione caso, come questo:

select (case when status = 0 then 'disabled' 
      when status = 1 then 'enabled' 
     end) 
from . . . 
0

È inoltre possibile utilizzare la funzione if flusso di controllo (come status campo può assumere solo due valori - [0,1]):

select if(status = 0, 'disabled', 'enabled') 
from <...>