仅当列不为空时匹配列

时间:2017-11-16 11:51:06

标签: mysql sql where-clause

我想仅在列不为空时匹配列

select *
from users
where message = 'test' AND phone like '%813%'

只有在电话栏不为空时才应调用条件

以下查询应该被称为

select * from users where message = 'test'

表示只有在手机不为空时才应调用AND phone like '%813%'

1 个答案:

答案 0 :(得分:1)

使用CASE

select *
from users
where message = 'test' AND 
    case when phone is not null 
    then phone like '%813%'
    else 1 end