一尘不染

SQL查询中的\(反斜杠)是什么意思?

sql

我有以下查询

SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%'

这将导致答案具有任何char + a + \ +值吗?

结果是像Pa \ pe一样有效吗?

是Ca%或_a%的有效答案?

\在SQL查询中的正常表现如何?


阅读 453

收藏
2021-03-10

共1个答案

一尘不染

%是通配符,与LIKE子句中的零个或多个字符匹配。_是通配符,它​​完全匹配LIKE子句中的一个字符。

\是一个特殊字符,称为转义字符,它指示直接在其后的字符应按字面意义进行解释(对于单引号,通配符等有用)。

例如:

SELECT txt1 FROM T1 WHERE txt1 LIKE '_a%'

会选择txt1值为’xa1’,’xa taco’,’ya any true’等的记录。

现在,假设您要实际搜索百分号。为了做到这一点,你需要一个特殊的字符,指出%应该 不是 作为通配符处理。例如:

SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%'

将选择txt1值为’ba%’的记录(但没有其他内容)。

最后,LIKE子句通常包含通配符(否则,您可以仅使用=代替LIKE)。因此,您可能会看到一个包含\
%%的查询。在这里,第一个百分号将被视为文字百分号,而第二个百分号将被解释为通配符。例如:

SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%%'

将选择txt1值为’da%something else’,’fa%taco’,’ma%taco tacos’等的记录。

2021-03-10