0
這是table
:MYSQL使用REGEXP
ID | Amount
---|---
0 | 1,2,3
1 | 11,12,13
2 | 21,23
3 | 2,3
細胞可以有任意數量的由逗號分隔的任何數字。我需要選擇其中包含金額的行。由於MYSQL REGEXP不支持lookaheads/lookbehinds,所以我需要一個合適的regex表達式來實現這一點。如果有更有效的解決方案而不是正則表達式,我願意接受建議。
實現這一目標的一個小白方式是
SELECT * FROM table WHERE
(Amount LIKE '2' OR Amount LIKE '%,2' OR Amount LIKE '2,%' OR Amount LIKE '%,2,%)
,但我寧願避免這種情況。
這是偉大的!當我使用分隔的Amount值設計表格時,我沒有意識到使用FIND_IN_SET()讓我的生活變得如此簡單。感謝您指出!所以,你所說的是,有可能有10-15倍大的表更有效率,但具有唯一的金額值,而不是在單個單元中排列金額?鑑於表中有成千上萬的行,這將工作得更快 - FIND_IN_SET()或4 LIKE查詢在我的問題? – Aydin4ik