如何处理SQL查询输出

时间:2018-11-20 17:17:55

标签: mysql sql

我想知道是否有可能,例如我有一个带有以下结果的sql表

+----+---------+--------+--------+
| ID |  Name   | Number | Active |
+----+---------+--------+--------+
|  1 | Jessica |     12 |      0 |
|  2 | Andrew  |     23 |      1 |
|  3 | Jason   |     53 |      0 |
+----+---------+--------+--------+

我想将活动字段更改为0 = No | 1 = Yes,但仅在结果中,我不想更改行的值,是否可以进行一个查询来做到这一点?

用下面的答案我设法改变了它,但是现在我该如何在php中回显值呢?

SELECT *, case when Active =0 then 'No' when Active =1 then 'Yes' end as Expr1,
FROM table

应该是这样的:$isActive = $rows['Expr1']; NVM上面的行正在工作。

3 个答案:

答案 0 :(得分:1)

只需使用case语句来翻译1 =是和0 =否这样

select ID 
      ,Name
      ,Number
      ,case when Active=0 then 'No'
            when Active=1 then 'Yes'
       end as active_y_n
 from table

答案 1 :(得分:0)

用例何时

select Id,name,number,
case  Active when 0 then 'No'
    when 1 then 'Yes' end as active_status
    from t

答案 2 :(得分:0)

一种特别简单的方法是使用elt()

select Id, name, number,
       elt(Active + 1, 'No', 'Yes') as as active_status
from t