这些LIKE
条件是否相同:
Phone LIKE '%[()-. ]%'
和
Phone LIKE '%(%' OR Phone LIKE '%-%' OR Phone LIKE '%.%' OR Phone LIKE '% %'
我从第一个得到的结果少于第二个结果。有什么想法吗?
答案 0 :(得分:3)
您获得不同结果的原因是-
在[]
中使用时表示一系列字符。它认为您要求(
,(space)
或)
和.
之间的任何字符。尝试使用ESCAPE
子句:
Phone LIKE '%[()=-. ]%' ESCAPE '='
这指示SQL服务器将=
字符用作转义字符,然后将=
放在-
之前,-
不再被解释为范围指标。
我从未使用ESCAPE
条款,因此您可能需要进行试验。但这是正确的想法。