mysql - sql用if语句构造条件mysql

标签 mysql sql if-statement

我想构造这样的sql条件。我有一辆表车,它有这样的字段id_statusid_categorystorage_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/

相关文章:

sql - T-SQL 查询返回不应该的项目

php - 我的 IF 语句正在更改 PHP 中的变量

php - PHP mySQL开发如何智能管理状态/历史记录?

MySQL Group By 将属性作为列?

sql - 通过组SQL获取上一条记录

c# - 从 Excel 工作表中计算值

python - if/elif 语句的多个条件

mysql - 对许多参数表使用数据库投票表

php - 如果在 php 中查询成功,如何提醒用户?

php - 如何检查用户是否已存在于 SQL 数据库中?