我在查询中使用'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
它也表示所有非空值。我的意思是,当我使用案例时,它是好的。
答案 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