我想对包含引号的字符串执行全文搜索,例如字符串为["test1","test2","test1test"]
,我想仅搜索"test1"
,因此不应返回{{1} }。
我打算在要搜索的字符串是(未调整的)输入参数的过程中使用它,因此需要在匹配之前在该参数周围添加引号。
以上示例的调用是"test1test"
正确的语法是什么?
答案 0 :(得分: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
如果没有,请详细说明您的要求。