字符串分拆查询

原创 2004年08月01日 10:45:00

原帖地址:http://community.csdn.net/Expert/topic/3230/3230422.xml?temp=.7884485

有这样的数据

字段1      字段2
 2,4,23    3,6,345
 23,56,4   3,3,67
取数据的是
查询 字段1中 条件是 4 那么在字段2  在取的是6与 67
结果如下
============
4     6
4     67

-------------------------------------------------------------------------------

--处理示例

--测试数据
create table tb(字段1 varchar(10),字段2 varchar(10))
insert tb select '2,4,23' ,'3,6,345'
union all select '23,56,4','3,3,67'
go

--写个自定义函数来处理
create function f_value(
@a varchar(10),
@b varchar(10),
@c varchar(10)
)returns varchar(10)
as
begin
 declare @i int,@pos int
 
 select @a=left(@a,charindex(','+@c+',',','+@a+',')-1)
  ,@pos=len(@a)-len(replace(@a,',',''))+1
  ,@i=charindex(',',@b)

 while @i>0 and @pos>1
  select @b=substring(@b,@i+1,8000)
   ,@i=charindex(',',@b)
   ,@pos=@pos-1
 return(case @pos when 1
   then case when @i>0 then left(@b,@i-1) else @b end
   else '' end)
end
go

--查询
declare @a varchar(10)
set @a='23' --查询参数

--查询语句
select A=@a,B=dbo.f_value(字段1,字段2,@a)
from tb
go

--删除测试
drop table tb
drop function f_value

/*--测试结果

A          B         
---------- ----------
23         345
23         3

(所影响的行数为 2 行)
--*/

Oracle SQL多行字符串拆分使用层次查询(connect by)、正则表达式

Oracle SQL多行字符串拆分使用层次查询(connect by)、正则表达式
  • Seandba
  • Seandba
  • 2017年05月23日 16:05
  • 1336

Oracle SQL符号分隔的多行字符串拆分

Oracle SQL 符号分隔 多行字符串 拆分
  • Seandba
  • Seandba
  • 2017年05月23日 22:51
  • 1663

oracle 字符串切割成结果集方法

oracle行专列思路 方法一: SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5')); 方法二:se...
  • zouqingfang
  • zouqingfang
  • 2013年07月02日 19:36
  • 1750

SQL各种字符串分拆处理函数

字符串分解 --各种字符串分拆处理函数.sql  -- --各种字符串分函数 if exists (select * from dbo.sysobjects...
  • qq798833488
  • qq798833488
  • 2014年05月12日 09:28
  • 1195

1、字符串分拆+行转列问题

最近看到一些比较好的SQL帖子,特地转载过来,以后遇到这些问题也好参考参考...
  • vip545058
  • vip545058
  • 2014年04月18日 16:53
  • 382

【一个按标志分拆字符串的好方法】strtok函数简介及应用。

刚刚接触strtok函数,感觉十分神奇。 定义: strtok 语法: #include char *strtok( char *str1, const ...
  • mig_davidli
  • mig_davidli
  • 2013年01月29日 10:46
  • 1108

在论坛中出现的比较难的sql问题:1(字符串分拆+行转列问题 SQL遍历截取字符串)

最近,在论坛中,出现了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了,所以,我觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路。 1...
  • yupeigu
  • yupeigu
  • 2013年10月20日 16:55
  • 1606

带有标尺功能的分拆窗口界面

  • 2011年07月05日 20:58
  • 120KB
  • 下载

驱动程序中Irp包的更换与分拆示例

  • 2015年12月05日 00:17
  • 1.37MB
  • 下载

正整数无序分拆算法设计及论证

  • 2012年09月15日 14:51
  • 73KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串分拆查询
举报原因:
原因补充:

(最多只允许输入30个字)