case when 条件里面可以用 like嘛
时间: 2023-07-09 22:42:32 浏览: 109
可以使用,但是需要注意一些细节。在使用 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 语句的性能较差,因此在大数据量的情况下,应该尽可能避免使用。
相关问题
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 用count
case when 可以配合 count 函数一起使用,用来在统计过程中根据条件进行计数。比如,可以使用 case when 来统计某种条件下的数量。例如:sum(case when xs_code like '23%' or xs_code like '24%' then 1 else 0 end) 就是在统计 xs_code 字段满足 '23%' 或者 '24%' 条件的记录数量。这样的语句可以用来统计符合特定条件的记录数量。