如何将条件放入列值中的第二个位置元素,在sql中以逗号分隔

时间:2015-03-10 09:10:11

标签: sql

实施例,

假设我有三列中的列值,如列1中那样,

10,9,2,3
12,9,8,9
16,2,9,2

我需要根据column1值获取记录,第二个位置值为9。

结果我期待如下,

10,9,2,3
12,9,8,9

由于 Rajasekar R

2 个答案:

答案 0 :(得分:0)

您可以针对您的案例尝试以上示例(SQL):

DECLARE @tempTable TABLE(Value NVARCHAR(100))

INSERT INTO @tempTable VALUES('10,9,2,3');
INSERT INTO @tempTable VALUES('12,9,8,9');
INSERT INTO @tempTable VALUES('16,2,9,2');

SELECT * 
FROM @tempTable
WHERE SUBSTRING(Value,CHARINDEX(',', Value)+1,1) = '9'

答案 1 :(得分:0)

试用正则表达式

select * from a where a1 ~ '^\d+[,][9][,]'; 

select * from a where a1 ~ '^\d+,9,'; 

两者都完美无缺地工作

输入

ABC
DEF
HIJ
1,9,2,3
5,9,4,6
1,2,3,9
2,3,3,9
5,99,4,6
10,9,2,3
12,9,8,9
16,2,9,2
162,9,2

<强> 输出

1,9,2,3
5,9,4,6
10,9,2,3
12,9,8,9
162,9,2

我有Postgres所以我使用了~,对于其他人你可以使用相应的正则表达式命令