在下面的查询中,结果为1。我的疑问是为什么第一个条件不满足?
我认为这两个案例完全相同,反之亦然,所以不应该满足第一个案例吗?
我在这里怎么了?
查询:
select case when '%G24F_T15%' like '%TK_G24F_T15_DITPG204A15WA%'
then 0
when '%TK_G24F_T15_DITPG204A15WA%' like '%G24F_T15%'
then 1
end as abc
答案 0 :(得分:2)
像不是对称的,因此左侧的%符号按字面意义使用。也就是说,它们被视为%符号,而不是模式匹配命令。
help page中的语法:
-- Syntax for SQL Server and Azure SQL Database
match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]
两侧不一样-只有右侧可以有模式匹配符号。