2011-12-30 100 views
2

我有SQL服務器2008 R2版本,正在處理和.Net網頁作爲前端。使用逗號分隔值搜索列

即將到來的問題是,數據庫中有一列基本上由逗號分隔的各種技能組成。例如,某些候選人擁有3種不同的技能組合,即C#,SQL server,Oracle。想要列出技能爲C#Oracle的候選人的用戶將在網頁的文本框中提供輸入爲C#, Oracle。我想寫一個可以列出這樣的查詢。我試過了免費的文字搜索。但如果在大寫字母/小字,不支持通配符,甚至是技能順序的情況下,它都無法獲取。

下面是示例查詢

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

回答

11

從我的POV正確的(和不受歡迎的)答案是重新設計你的表結構:你不應該曾經有值的列表中的一個字段,如果你想訪問他們分開。

+0

@JonEgerton:請一個代表SO社區採取我感謝所有那些打擾我修復我的(非母語)英語的學生rrors。非常感謝,並且我學到了我最常見的錯誤 – 2011-12-30 14:50:25

+0

不是一個問題 - 你的英語遠勝於我的基本德語! – 2011-12-30 14:57:58

0

this是一個關於全文的好文章。

比賽兩個 C#和Oracle

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

比賽要麼 C#或Oracle

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

Full-text: and/or