0
A
回答
0
使用正則表達式:
SELECT * FROM `VENDOR` WHERE `services` REGEXP '[[:<:]]5[[:>:]]';
(我剛剛在Match tags in MYSQL回答了這個)
5
正如其他評論指出的,規範化你的數據庫。但是,這裏有一個黑客,讓你在找什麼暫時:
select * from vendor where ',' + services + ',' like '%,5,%'
1
SELECT * FROM供應商那裏服務='5'或服務LIKE'5,%'或服務如'%,5'或服務LIKE'%,5,%'
但嚴重標準化DB
0
你可以做什麼是where
條件,你可以寫services='5' or services like '%,5' or services like '%,5,%' or services like '5,%'
1
您可以使用regexp
:
select * from my_table
where
my_col regexp '^5$' or
my_col regexp ',5$' or
my_col regexp ',5,';
沒有嘗試過上述表達自己,但這樣的事情會工作。
編輯:與一個正則表達式:
select * from my_table
where
my_col regexp '^5$|,5$|,5,'
1
實際上MySQL提供了FIND_IN_SET
function用於這種逗號分隔的字符串。這是一個比複雜like
或正則表達式的解決方案簡單和清晰:
mysql> select * from vendor where find_in_set('5', services) > 0;
+----+----------+
| id | services |
+----+----------+
| 1 | 5 |
| 3 | 9,5 |
+----+----------+
2 rows in set (0.00 sec)
但還是要小心 - 這樣的設計可能會導致低性能。
相關問題
- 1. 如何在bash中選擇一個包含多行的sqlite列?
- 2. 選擇查詢,其中一列包含一組數字
- 3. MySQL如何只選擇其中包含字符串的列
- 4. SQL選擇行,其中列包含從string
- 5. 選擇包含同一行中定義列的db列
- 6. MySQL的:選擇列,其中列包含從列表
- 7. 如何從另一行的列表中選擇包含部分值的行?
- 8. 選擇,其中JSON數組包含
- 9. 選擇與pandas.DataFrame其中包含數組
- 10. 選擇字符串,其中包含
- 11. MySQL選擇不包含列的列表其中Sum等於0
- 12. 如何從包含中選擇最後一行
- 13. 選擇列不包含在另一個
- 14. 如何確保列中包含一行
- 15. 如何選擇其中節點名稱中包含 「MyString的」
- 16. 選擇包含的每一行
- 17. Linq - 如何選擇一個新對象來包含其他對象的列表?
- 18. Python如何從包含列表的列表中選擇項目
- 19. SQL Server:如何選擇包含僅包含一個數字的值的行
- 20. 如何選擇表單中的輸入,其ID包含點
- 21. 選擇包含一個URL
- 22. CSS選擇器:選擇TR其中TD包含特殊值
- 23. PostgreSQL的選擇*,其中列包含數組值
- 24. 如何選擇包含R中所選行的特定值的列?
- 25. 如何選擇JTable中的其他行,如果其中一行被選中?
- 26. 克隆有一行包含選擇和克隆選擇值
- 27. 選擇元素不包含其他
- 28. 如何選擇僅包含「foobar」類的元素,請不要選擇它是否包含任何其他類?
- 29. 如何選擇下一行中的列?
- 30. 如何選擇另一個列表中包含的元素的不同列表?
如果您可以控制數據庫結構,則需要[標準化](http://en.wikipedia.org/wiki/Database_normalization)。 – BoltClock
正常嗎? – Randy