gpt4 book ai didi

sql - 在 SQL 中双重转义通配符是否会使转义无效?

转载 作者:行者123 更新时间:2023-12-02 07:51:48 27 4
gpt4 key购买 nike

我有一个有趣的行为,我想更好地理解它,这样我就不会无意中误用它。

以下是在 WHERE 子句中转义“%”的示例:

select * from #z where b like '%e%' ESCAPE 'e'

在这个表中有这些值:

create table #z (a int, b varchar(10))
insert into #z values (1, 'e25%')
insert into #z values (2, '25')
insert into #z values (3, '18%')
insert into #z values (4, 'cab')
insert into #z values (5, '2%')

选择末尾带有 % 的三行。

但是,如果我将 like '%e%' 替换为 like 'ee%',它只会选择第一行。因此,双重转义 % 就像双重否定一样,并撤消转义,从而使 % 再次成为通配符。我理解正确吗?还是这里发生了其他事情?

最佳答案

我实际上并没有使用 ESCAPE:我一直觉得它很奇怪。在这种情况下,您要转义第二个 e,所以您会得到 like 'e%'(没有转义)

就我个人而言,我会尽可能使用这个like '%[%]'(没有转义)

关于sql - 在 SQL 中双重转义通配符是否会使转义无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com