Bạn có thể, bằng cách sử dụng LIKE. Bạn không muốn đối sánh các giá trị từng phần, vì vậy bạn sẽ phải bao gồm dấu phẩy trong tìm kiếm của mình. Điều đó cũng có nghĩa là bạn sẽ phải cung cấp thêm một dấu phẩy để tìm kiếm các giá trị ở đầu hoặc cuối văn bản của mình:
select
*
from
YourTable
where
',' || CommaSeparatedValueColumn || ',' LIKE '%,SearchValue,%'
Nhưng truy vấn này sẽ chậm, cũng như tất cả các truy vấn sử dụng LIKE, đặc biệt là với ký tự đại diện đứng đầu.
Và luôn có rủi ro. Nếu có khoảng trắng xung quanh giá trị hoặc giá trị có thể chứa dấu phẩy trong trường hợp chúng được bao quanh bởi dấu ngoặc kép (như trong tệp csv), truy vấn này sẽ không hoạt động và bạn sẽ phải thêm nhiều logic hơn, làm chậm truy vấn của bạn thậm chí nhiều hơn nữa.
Một giải pháp tốt hơn sẽ là thêm một bảng con cho các danh mục này. Hay thậm chí là một bảng riêng biệt cho các thư mục và một bảng liên kết chéo chúng với YourTable.