我有以下查询
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%'
这将导致答案具有任何char + a + \ +值吗?
结果是像Pa \ pe一样有效吗?
是Ca%或_a%的有效答案?
\在SQL查询中的正常表现如何?
%是通配符,与LIKE子句中的零个或多个字符匹配。_是通配符,它完全匹配LIKE子句中的一个字符。
\是一个特殊字符,称为转义字符,它指示直接在其后的字符应按字面意义进行解释(对于单引号,通配符等有用)。
例如:
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a%'
会选择txt1值为’xa1’,’xa taco’,’ya any true’等的记录。
现在,假设您要实际搜索百分号。为了做到这一点,你需要一个特殊的字符,指出%应该 不是 作为通配符处理。例如:
将选择txt1值为’ba%’的记录(但没有其他内容)。
最后,LIKE子句通常包含通配符(否则,您可以仅使用=代替LIKE)。因此,您可能会看到一个包含\ %%的查询。在这里,第一个百分号将被视为文字百分号,而第二个百分号将被解释为通配符。例如:
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%%'
将选择txt1值为’da%something else’,’fa%taco’,’ma%taco tacos’等的记录。