在ms azure数据库中如何搜索包含_的字符串

时间:2013-11-15 12:36:52

标签: azure-sql-database

我在我的azure数据库中遇到这种情况,我需要搜索包含_字符的任何行。这是数据库中的一个特殊字符,所以我试图逃避它,但我得到了每一行。

select * from table where fieldColumn like '%_%'
will return everything on the table
select * from table where fieldColumn like '%\_%'
returns nothing
select * from table where fieldColumn = '_'

作品

那么如何才能获得只有一个_和所有其他可能在字符串上有_的行?

2 个答案:

答案 0 :(得分:0)

从表中选择*,其中fieldColumn像'%_%'一样'\';

LIKE

  

escape_character   是一个放在通配符前面的字符,表示通配符应该被解释为常规字符而不是通配符。 escape_character没有默认值的字符表达式,必须只评估一个字符。

答案 1 :(得分:0)

您可以设置所需的任何转义字符,如下所示:

select * from table where fieldColumn like '%!_%' ESCAPE '!'

我在这里使用!作为转义字符,告诉SQL Server将以下字符_作为字符串文字处理。

有关详细信息,请参阅文档:http://technet.microsoft.com/en-us/library/ms179859.aspx