如果条件with在mysql中为null

时间:2014-01-01 07:00:53

标签: php mysql

我在查询中使用'if condition',但它不与ISNULL一起使用。它的价值也没有。

我的查询是

 SELECT *,IF(posted_job_id IS NULL,0,1)  as pj FROM appliedjob 


id|posted_job_id|pj
1 |             | 1
2 |  8          | 1
3 |  5          | 1
1 |             | 1
2 |  4          | 1

它也表示所有非空值。我的意思是,当我使用案例时,它是好的。

3 个答案:

答案 0 :(得分:2)

我已经测试了这个查询,现在正在使用它。

SELECT posted_job_id, IF(posted_job_id > 0, posted_job_id, 0)
AS pj FROM appliedjob

MySQL IF()接受三个表达式,如果第一个表达式为true,而不是零而不是NULL,则返回第二个表达式。否则返回第三个表达式。

假设第一个experssion是if条件,如果它是真的,它返回第二个experssion,它是if条件的主体,否则它将返回第三个experssion,就像else

答案 1 :(得分:0)

如果你想在null的情况下为0,在非空的情况下你想要原始的值,试试这个

SELECT *, IF(posted_job_id IS NULL, 0, posted_job_id) AS pj 
FROM appliedjob 

答案 2 :(得分:0)

你只能检查posted_job_id> SQL中的0

SELECT *,IF(posted_job_id > 0, 1, 0)  as pj FROM appliedjob