[英]MySQL query String contains opposite
您好,我正在嘗試進行mysql查詢,以查找包含來自我設置的主字符串的字符串的列值。 因此,如果我的主字符串是'1234567',我希望它返回列值為'1','2'等的任何結果...上面的鏈接與我所能找到的非常接近,但我需要它在相反的方向進行比較。
例如。:
WHERE '%{$needle}%' LIKE `column`
您對各種值的存儲位置有些不確定(您的文本使用諸如“主字符串”之類的術語,但示例代碼使用不同的名稱)。
您可以使用regexp
。 這是一個例子:
select 'abcd6efg' regexp concat('.*[', '1234567', '].*')
說實話, regex
是由不同的like
在一個重要方面。 regex
如果左字符串的任何部分匹配,而對於返回真like
整個字符串必須匹配。 因此,以下內容也適用:
select 'abcd6efg' regexp concat('[', '1234567', ']')
我喜歡使用顯式通配符,以避免在兩者之間切換時出錯。
您可以在此處查找正則表達式的文檔。
怎么樣
WHERE ? LIKE CONCAT('%', `column`, '%')
在?
正在和你的主人值(1234567)綁定參數的占位符,因為你使用的是 PDO或MySQLi擴展,對不對?
當然,您肯定不是在使用不推薦使用的MySQL擴展。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.