简体   繁体   中英

Searching a column with comma separated values

I have SQL server 2008 r2 edition, which am working on and a .Net webpage as front end.

Coming to the issue, there is a column in the database which basically consists of various skill sets separated by a comma. For example some candidate has a 3 different skill sets namely C# , SQL server , Oracle . The user who wants to list the candidates having the skills of both C# and Oracle will provide the input as C#, Oracle in a text box on the webpage. I want to write a query which can list out such. I have tried freetext search. But it fails to fetch if in Capital/small words, no support for wildcard character, even the order of skills.

Below is the sample query

Select * from profiles where freetext(skills, ‘C#,Oracle’)

从我的POV中,正确(和不受欢迎)的答案是重新设计您的表格结构:如果您想要单独访问它们,您应该永远不会在单个字段中列出值列表。

this is a good one about full-text.

Match Both C# and Oracle

select * From Profiles where contains(*,'"Oracle" and "C#"')

Match Either C# or Oracle

select * From Profiles where contains(*,'"Oracle" or "C#"')

全文:和/或

DISCLAIMER : I agree with @EugenRieck (+1 to that answer) - stuffing a CSV string in one field is bad design.

But if you must... look here first . Or try a CLR solution .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM