MySQL如何检查列列表中的任何值是否为NULL?

719*_*016 3 mysql sql

我想在mysql表中选择有NULL值的条目,以便稍后对它们进行更新或删除:

select * from table where q is NULL;
Run Code Online (Sandbox Code Playgroud)

但是我有一个相当长的列表,在这种情况下都有一个给定的前缀调用pf_,我想选择任何列为NULL的条目.我可以这样做吗?

select * from table where ANYISNULL(pf_q,pf_w,pf_e,pf_r,pf_t,pf_y,pf_u,pf_i,
                                    pf_o,pf_p,pf_a,pf_s,pf_d,pf_f,pf_g,pf_h,
                                    pf_j,pf_k,pf_l);
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点,除了有很多OR的非常长的查询?

Mic*_*los 11

你应该做这个:

select * from table where concat(pf_q,pf_w,pf_e,pf_r,pf_t,pf_y,pf_u,pf_i,
                                pf_o,pf_p,pf_a,pf_s,pf_d,pf_f,pf_g,pf_h,
                                pf_j,pf_k,pf_l) is null;
Run Code Online (Sandbox Code Playgroud)

如果任何值为null,concat则返回null.