SQL 'Like' 函数 - 说明
SQL 'Like' function - Clarification
在下面的查询中,结果是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
Like 不是对称的,所以左边的 % 符号是字面意思。也就是说,它们被视为 % 符号而不是模式匹配命令。
来自 help page 的语法:
-- Syntax for SQL Server and Azure SQL Database
match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]
两侧不一样-只有右侧可以有模式匹配符号。
在下面的查询中,结果是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
Like 不是对称的,所以左边的 % 符号是字面意思。也就是说,它们被视为 % 符号而不是模式匹配命令。
来自 help page 的语法:
-- Syntax for SQL Server and Azure SQL Database
match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]
两侧不一样-只有右侧可以有模式匹配符号。