我想知道是否有可能,例如我有一个带有以下结果的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上面的行正在工作。
答案 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