2012-11-04 48 views
0

我想对包含引号的字符串执行全文搜索,例如字符串为["test1","test2","test1test"],我想仅搜索"test1",所以它不应该返回"test1test"全文搜索带引号的字符串

我打算在搜索字符串是(unchaouted)输入参数的过程中使用它,所以引号需要在匹配它之前在该参数前添加)。 以上示例的调用将是CALL sarch("test");

什么是正确的语法?

+0

这有点令人困惑。那么,如果您搜索“test1”,示例字符串不匹配? –

回答

0

如果您使用=,它将按照您的预期进行全字匹配。

SELECT * FROM TABLE1 WHERE TEXTCOL = 'text1'; 

这将仅返回具有确切值的行,即text1

在另一方面,如果你想执行包含的搜索的(你要设法避免),你可以使用LIKE操作为:

SELECT * FROM TABLE1 WHERE TEXTCOL LIKE '%text1%';//text1 anywhere in the string 
    SELECT * FROM TABLE1 WHERE TEXTCOL LIKE '%text1'; //text1 with any prefix 
    SELECT * FROM TABLE1 WHERE TEXTCOL LIKE 'text1%'; //text1 with any suffix 

如果没有,那么请提供明确的细节你的要求。