如何使用包含通配符的case语句



我试图在下面的Case语句中包含一个通配符,但没有得到好的结果。

CASE 
WHEN store IS NULL THEN
(
CASE
WHEN location IN (‘A%’, ‘B%’’ ‘C%’) THEN ‘staff’ 
ELSE store_code
) 
ELSE store
END AS sister_store

如果通配符前面的部分只有一个字母,那么

CASE WHEN location like '[ABC]%' then

您正在寻找的特定语法实际上是LIKE ANY(至少Teradata支持,但SqlServerafaik.不支持(

如果检查更复杂,你应该把它分成OR部分,比如:

CASE WHEN location like 'A%' or location like 'B%' or location like 'C%' then

对于更复杂的条件,也可以使用CHARINDEX/PATINDEX函数。

相关内容

  • 没有找到相关文章

最新更新