我有以下查询(反斜杠)在SQL查询中意味着什么?
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%'
将那结果有任何字符答案+ A + \ +什么?
有点像Pa \ pe作为结果吗?
是Ca%或_a%有效答案也许?
如何在SQL查询中正常运行?
我有以下查询(反斜杠)在SQL查询中意味着什么?
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%'
将那结果有任何字符答案+ A + \ +什么?
有点像Pa \ pe作为结果吗?
是Ca%或_a%有效答案也许?
如何在SQL查询中正常运行?
%是一个匹配LIKE子句中的零个或多个字符的通配符。 _是在LIKE子句中精确匹配一个字符的通配符。
\是一个特殊字符,被称为转义字符,表示直接跟在它后面的字符应该逐字解释(对单引号,通配符等有用)。
例如:
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a%'
将选择“XA1”的txt1中值的记录,“XA塔科”,“雅什么真正的”等
现在让我们假设你想实际搜索为百分号。为了做到这一点,你需要一个特殊的字符,表示%而不是被视为通配符。例如:
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%'
将选择txt1值为'ba%'(但没有别的)的记录。
最后,一个LIKE子句通常会包含一个通配符(否则您可以只使用=而不是LIKE)。所以你可能会看到一个包含\ %%的查询。这里,第一个百分号将被视为字面百分号,但第二个符号将被解释为通配符。例如:
SELECT txt1 FROM T1 WHERE txt1 LIKE '_a\%%'
将选择“DA%别的东西”,“FA%塔科”,“质量%一堆玉米饼”等txt1中值的记录
好的,但_仍然会选择任何字符右键?那么LIKE'_a \%'实际上导致像'Xa \%'这样的东西是X任何字符(实际上是什么)? – Polux 2013-03-05 03:38:06
是的。 _是与任何单个字符匹配的通配符。 %将匹配多个字符。 – chrislopresto 2013-03-05 03:58:51
对于SELECT txt1 FROM T1 WHERE txt1 LIKE'_a \%'是'Ca%'和'_a%'的有效查询结果呢? – Polux 2013-03-05 04:20:36
大多数情况下,这是一种逃避字符,说解释下一个字符为文字,而不是通配符字符... – Sparky 2013-03-05 01:58:32
所以它应该产生像Ca%或_a%这样的结果? – Polux 2013-03-05 02:16:36