2012-11-04 27 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 

如果沒有,那麼請提供明確的細節你的要求。