sql where 中case语句then后面不设置条件,应该在then后面写什么
时间: 2023-06-03 13:05:25 浏览: 107
如果在 SQL 的 WHERE 子句中使用 CASE 表达式,那么必须在 THEN 子句之后提供一个条件。否则,WHERE 子句将无法确定表达式是否为真或假。因此,您应该在 THEN 子句后面指定一个条件,例如:
```
SELECT * FROM your_table WHERE
CASE
WHEN some_column = 'value1' THEN 1
WHEN some_column = 'value2' THEN 2
ELSE 0
END = 1;
```
相关问题
sql where 中case语句then后面不设置条件
对于您的问题,我可以告诉您,在 SQL WHERE 语句中,CASE 表达式可以在 THEN 子句中设置条件。如果您在 THEN 子句中不设置条件,那么默认情况下会将 THEN 计算的结果与 WHERE 子句中的条件进行比较。如果结果为真,它将被包括在结果集中。如果结果为假,则不包括在结果集中。
case when then else end 可不可以放在where 后面
是的,case when then else end 语句可以放在where子句后面,用于过滤满足特定条件的行。例如,以下是一个使用case when then else end语句放在where子句后面的示例:
```sql
SELECT *
FROM table_name
WHERE
CASE
WHEN column1 = 'value1' THEN 1
WHEN column2 = 'value2' THEN 1
ELSE 0
END = 1;
```
上述示例中,case when then else end语句用于过滤出满足column1等于'value1'或column2等于'value2'的行。