case when可以模糊吗
时间: 2024-05-10 16:12:25 浏览: 10
CASE WHEN是SQL语言中的一种条件表达式,可以用来根据条件返回不同的结果。在使用CASE WHEN时,条件可以是精确的,也可以是模糊的。
例如,在一个学生表中,我们可以使用如下语句查询分数在80分以上的学生:
SELECT name, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 AND score < 90 THEN '良好'
ELSE '及格'
END AS level
FROM student;
在上述语句中,第一个WHEN条件是精确的,表示当分数大于等于90时返回“优秀”,第二个WHEN条件是模糊的,表示当分数大于等于80且小于90时返回“良好”。
因此,CASE WHEN可以根据不同的条件返回不同的结果,可以同时使用精确和模糊的条件。
相关问题
sql用case when模糊搜索
在SQL中,可以使用CASE WHEN语句进行模糊搜索。CASE WHEN语句是一种条件表达式,它允许根据不同的条件返回不同的结果。
下面是使用CASE WHEN进行模糊搜索的示例:
```sql
SELECT column1, column2, ...
FROM table
WHERE
CASE
WHEN column1 LIKE '%keyword%' THEN 1
WHEN column2 LIKE '%keyword%' THEN 1
ELSE 0
END = 1;
```
在上面的示例中,我们使用了CASE WHEN语句来判断列column1和column2是否包含关键字"keyword"。如果包含,则返回1,否则返回0。然后我们将这个结果与1进行比较,以过滤出符合条件的行。
你也可以根据自己的需求进行修改和扩展。例如,可以添加更多的WHEN子句来匹配更多的列或条件。
case when 条件里面可以用 like嘛
可以使用,但是需要注意一些细节。在使用 LIKE 时,需要使用通配符(%或_)来表示模糊匹配。在 CASE WHEN 语句中,通配符需要放在引号内。例如:
```
SELECT
CASE
WHEN column_name LIKE '%abc%' THEN '包含abc'
WHEN column_name LIKE 'abc%' THEN '以abc开头'
ELSE '其他'
END
FROM table_name;
```
需要注意的是,LIKE 语句的性能较差,因此在大数据量的情况下,应该尽可能避免使用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)