[英]Basic mysql regexp on an array of integers
我有一個varchar字段,其中包含一個整數數組。
例如:
Row1: [2]
Row2: [1,8,346]
Row3: [10,54,245]
Row4: [4,25,3,7,46,14]
我需要能夠獲取具有所選ID實例的所有行。 有點像我可以使用IN函數的反面...
SELECT * FROM table WHERE field IN (4)
盡管反轉了IN功能的輸入/輸出...
嘗試澄清:將以上數字集用作行。 我需要能夠獲取數字varchar組中ID為1的所有行。 我正在嘗試的樣子是:
SELECT * FROM table WHERE field REGEXP '(1)';
當我對ID 1執行查詢時,結果集應僅包含第2行,而不是第3行(集合中有10行)
建議? TIA
我想你可以嘗試像
SELECT * FROM table WHERE field REGEXP '[[:<:]]1[[:>:]]';
的[[:<:]]
和[[:>:]]
匹配的字邊界 ,這意味着它不會匹配在“21” 1或“10” 1,但它會匹配整個字1。
請從MySQL文檔的本頁底部開始,他們解釋[[:<:]]
和[[:>:]]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.