2

我有 SQL Server 2008 r2 版本,它正在开发中,并且有一个.Net网页作为前端。

谈到这个问题,数据库中有一个列,它基本上由用逗号分隔的各种技能集组成。例如,某些候选人具有 3 种不同的技能组合,即C#SQL serverOracle。想要列出同时具备这两种技能的候选人C#并将在网页上的文本框中Oracle提供输入的用户。C#, Oracle我想写一个可以列出这样的查询。我试过自由文本搜索。但是如果大写/小写,不支持通配符,甚至技能顺序,都无法获取。

以下是示例查询

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

3 回答 3

11

从我的观点来看,正确(但不受欢迎)的答案是重新设计您的表结构:如果您想单独访问它们,则永远不应该在单个字段中拥有值列表。

于 2011-12-30T12:25:45.263 回答
0

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.

于 2011-12-30T20:26:16.633 回答
0

是一篇关于全文的好文章。

匹配C # 和 Oracle

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

匹配C # 或 Oracle

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

全文:和/或

于 2015-07-24T23:06:22.777 回答