select case 语句中case 后跟的判断语句为什么不能用like进行字符串的配比,有别的替代方法吗?十分感谢。

2025-02-26 17:07:34
推荐回答(2个)
回答1:

1,用子查询,把LIKE放到子查询里,给个例子:
select
Type=CASE TType when 'A ' Then '单 '
when 'B ' Then '多 '
when (select Type from store where TType like 'C_ ') Then '其它 '
Else '没有类型 ' end
from Store
2,你可以写成多条语句,把case条件写到where后面去,再用union或者union all连接。
例如:
select ...... from 表 where 字段 like 值1
union all
select ...... from 表 where 字段 like 值2

回答2:

当然可以了,需要这样写
select case when t.name like 'LZ%‘ then ’LZ‘ when name like 'SF%' then 'SF' else 'DB’ end
from tab t