2015-10-15 36 views
0

我只想查询包含此确切字符串的字符串string_SQL Like没有使用_

我尝试这样做:

select * from table where name like "%string_%" 

和成果还包括string-,但我只需要精确_

任何帮助?

感谢

+0

_是LIKE通配符,您需要转义才能搜索该字符。 – jarlh

+0

我们在谈论哪个数据库服务器? –

+0

你的意思是“\”?还有“%string \ _%”不起作用 –

回答

2

_是单个字符在SQL通配符。如果你要搜索_你需要逃避它:

select * 
from some_table 
where name like '%string\_%' escape '\' 

此外:字符串文字投入在SQL单引号。如果您想要使用更符合标准的DBMS(Oracle,Postgres),您应该习惯使用单引号字符串。双引号仅用于标识符(基本上应该首先避免)

+0

只是一个小的说明,有一个单引号/双引号不一致。 – jarlh

+0

@jarlh:你说得对。我刚刚复制了原来的声明。我修复了“无效”双引号。 –

+0

它使用单引号......谢谢。我也尝试过\但双引号问题。完成。非常感谢 –