我想对包含引号的字符串执行全文搜索,例如字符串是["test1","test2","test1test"]
并且我只想搜索"test1"
,所以它不应该返回"test1test"
。
我计划在要搜索的字符串是(未引用的)输入参数的过程中使用它,因此在匹配之前需要在该参数周围添加引号)。上面示例的调用将是CALL sarch("test");
什么是正确的语法?
我想对包含引号的字符串执行全文搜索,例如字符串是["test1","test2","test1test"]
并且我只想搜索"test1"
,所以它不应该返回"test1test"
。
我计划在要搜索的字符串是(未引用的)输入参数的过程中使用它,因此在匹配之前需要在该参数周围添加引号)。上面示例的调用将是CALL sarch("test");
什么是正确的语法?
如果您使用=
,它将按照您的预期进行全字匹配。
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
如果没有,请提供有关您的要求的明确详细信息。