我正在尝试进行一个选择用户的查询,如果用户类型等于 1,我需要选择有年龄的用户。我的 table :
id (int 11) | type (int 11) | email (varchar 25) | age (int 11)
我的查询:
SELECT * FROM users WHERE IF(type = 1, age <> 0)
问题是我需要有一个 ELSE 条件,但在这种情况下我不需要一个。如何在没有 else 条件的情况下在 WHERE 中创建 IF?
谢谢
最佳答案
您可以使用CASE
来做到这一点:
SELECT * FROM users
WHERE age = CASE WHEN type <> 1 THEN age ELSE 0 END
关于sql - 如何在 SQL WHERE 条件上创建 IF 而无需 ELSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59161940/