簡體   English   中英

MySQL查詢字符串包含相反

[英]MySQL query String contains opposite

MySQL查詢字符串包含

您好,我正在嘗試進行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM