SQL的表中某字段含有一些特定字符,怎么取出其中第2个"|"与第3个"|"之间的字符呢
SQL的表中某字段含有一些特定字符,如何取出其中第2个"|"与第3个"|"之间的字符呢?
怎么取第二个"|"后,第三个"|"前的字符?
67|085B|RB|SDE
ER322|K5|34|123
....
要求取出其中的
RB
34
...
请指教,谢谢!
------解决方案--------------------
怎么取第二个"|"后,第三个"|"前的字符?
67|085B|RB|SDE
ER322|K5|34|123
....
要求取出其中的
RB
34
...
请指教,谢谢!
------解决方案--------------------
- SQL code
67|085B|RB|SDE 这个一共多少|? 如果在4个之内 可以 select parsename(replace(col,'|','.'),2) from tb
------解决方案--------------------
- SQL code
declare @a1 varchar(30),@a2 varchar(1) set @a2='|' set @a1='1|2|' select case when len(@a1)-len(replace(@a1,'|',''))>2 then substring(@a1,charindex(@a2,@a1,charindex(@a2,@a1,1)+1)+1,charindex(@a2,@a1,charindex(@a2,@a1,charindex(@a2,@a1,1)+1)+1)-charindex(@a2,@a1,charindex(@a2,@a1,1)+1)-1) else '' end
------解决方案--------------------