0

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

我计划在要搜索的字符串是(未引用的)输入参数的过程中使用它,因此在匹配之前需要在该参数周围添加引号)。上面示例的调用将是CALL sarch("test");

什么是正确的语法?

4

1 回答 1

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

如果没有,请提供有关您的要求的明确详细信息。

于 2012-11-04T23:55:50.150 回答