如何从sql中的逗号分隔属性中获取值?

时间:2014-10-15 07:09:26

标签: sql asp.net

这是我的名为Employee的表。我希望员工的名字为活跃的1,并且知道java。 我正在使用sql server 2000.Split函数在sql 2000中不起作用?什么是替代。如何处理?

id  name    lname   Active  Skill
1   Sonia   Mohite  1       C,C#,JAVA,.NET
2   Dilip   Kale    1       JAVA
3   Kalpesh More    0       C,C#,JAVA
4   Monika  Naik    1       C

非常感谢你的帮助。但是我还有另一张桌子叫学生。我想要一个学生的名字 isactive是1并且有主题代码1.Like在这里不起作用。它给出了主题代码为11或12的员工的姓名。

id  name    Isactive    subjectcode
1   Shilpa  1           1,2,3
2   Manasi  1           11
3   kamal   1           12,3
4   Hans    0           1,2
5   Rupali  1          1,11,12

4 个答案:

答案 0 :(得分:0)

使用LIKE

查询

SELECT * FROM Employee
WHERE active=1 
AND skill LIKE '%Java%';

答案 1 :(得分:0)

使用以下查询:

SELECT * FROM EMPLOYEE
WHERE ACTIVE = 1
AND ',' || SKILL || ',' LIKE '%,JAVA,%';

注意:上面是支持||的oracle用于连接。对于其他DB,您可能必须使用如下的CONCAT:

SELECT * FROM EMPLOYEE
WHERE ACTIVE = 1
WHERE CONCAT (",",  (CONCAT (SKILL, ",") ) LIKE '%,JAVA,%'

答案 2 :(得分:0)

查询

SELECT * FROM Employee
WHERE active=1 
AND Contains(skill, "Java")>0;

答案 3 :(得分:0)

查询

SELECT * FROM employee
WHERE active=6
AND skill LIKE