mysql where条件中使用case
时间: 2023-08-27 11:14:06 浏览: 59
在MySQL的Where条件中使用Case可以通过以下方式实现:
```sql
SELECT *
FROM table_name
WHERE
CASE
WHEN condition1 THEN column1
WHEN condition2 THEN column2
ELSE column3
END operator value;
```
其中,condition1和condition2是你指定的条件,column1、column2和column3是你想要比较的列,operator是比较运算符(例如=、<、>等),value是你想要比较的值。
举个例子,如果你想要查找表中年龄在20岁以下或者是已婚的人,可以这样写:
```sql
SELECT *
FROM table_name
WHERE
CASE
WHEN age < 20 THEN 1
WHEN marital_status = 'married' THEN 1
ELSE 0
END = 1;
```
这里使用了Case语句来判断是否符合条件,如果符合条件,则返回1,否则返回0。然后在Where条件中判断是否等于1,从而过滤出符合条件的行。
相关问题
mysql case when 放在where条件后
当你想要在MySQL的WHERE条件之后使用CASE WHEN语句时,你可以使用以下语法:
```sql
SELECT column1, column2, ...
FROM table_name
WHERE condition
AND (CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END);
```
在上面的语法中,你可以在CASE WHEN语句中添加任意数量的条件和结果。如果条件满足,它将返回相应的结果。如果没有条件满足,它将返回默认结果。注意,CASE WHEN语句必须放在圆括号中,以便与其他WHERE条件正确结合使用。
mysql where case when
MySQL的WHERE CASE WHEN是一种条件表达式,可以在SELECT、UPDATE和DELETE语句中使用。它允许您根据不同的条件来选择不同的操作。
WHERE CASE WHEN语句的语法如下:
```
SELECT column_name(s)
FROM table_name
WHERE CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
其中,condition1、condition2等是要测试的条件,result1、result2等是当条件为真时要返回的结果。
以下是一个例子,它根据不同的性别返回不同的语句:
```
SELECT first_name, last_name,
CASE
WHEN gender = 'M' THEN 'Mr. '
WHEN gender = 'F' THEN 'Ms. '
ELSE ''
END AS salutation
FROM employees;
```
该语句将返回一个名为salutation的新列,其值将根据每个人的性别而变化。