我试图在下面的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函数。