SQL Server - 如何在具有句点中间值的记录中使用like关键字

时间:2016-09-27 13:40:09

标签: sql sql-server

我有以下记录

example records

但是当我尝试进行查询where FullName like '%Gd. Mahendra%'时,它不会返回任何结果。

为什么?

它应该返回第一行,不应该吗?

3 个答案:

答案 0 :(得分:4)

你的比较应该没问题:

where FullName like '%Gd. Mahendra%'

如果您怀疑.,可以将其替换为单字符通配符:

where FullName like '%Gd_ Mahendra%'

一般来说,这类问题是由"隐形"引起的。看起来相同的字符或字符(如零和大写字母O,或制表符和空格,或两个空格)。对于扩展基本ASCII字符的国家字符集尤其如此。

您可以使用ASCII()查看字符的ASCII值。这有时可以帮助你弄清楚发生了什么。

答案 1 :(得分:1)

试试这个:

   WHERE FullName LIKE '%Gd.%Mahendra%'

答案 2 :(得分:1)

显然问题是:

请求发送的值与实际记录不同 这是因为html没有使用<pre>标记,它可以渲染多个空格。然后,用户只需复制没有多个空格的渲染值。这就是为什么它无法获得正确的结果。