我想构造这样的sql条件。我有一辆表车,它有这样的字段id_status
,id_category
和storage_address
。我需要选择 (2,4) 中 id_status
的汽车,如果 id_category = 4
我需要检查字段 storage_address
不为空或空。我怎样才能做到呢?我应该使用 sql if
语句吗?
我需要类似的东西:
select * from car where id_status in (2,4) and if(id_category =
4,storage_address is NOT NULL,'1=1')
最佳答案
试试这个:
SELECT *
FROM car
WHERE id_status in (2,4)
AND IF(
id_category = 4,
storage_address IS NOT NULL,
1
)
简单地说,您不需要字符串 '1=1'
,只需一个普通的 1
即可作为真值。
或者你可以这样做
SELECT *
FROM car
WHERE id_status in (2, 4)
AND (
id_category != 4
OR storage_address IS NOT NULL
)
关于mysql - sql用if语句构造条件mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18483342/