读书人

如何查找字符串中的多个人名在数据库

发布时间: 2012-10-20 14:12:48 作者: rapoo

怎么查找字符串中的多个人名,在数据库中对应的邮箱?
从jsp中接受到的参数类似:“张三;李四;王五;马六”

数据库中有2个字段,一个是人名,一个是邮箱。怎么写SQL才能把这些人的邮箱取出来?

[解决办法]

SQL code
SQL> with u(name,email) as(  2  select '三','1@163.com' from dual  3  union all select '李四','2@163.com' from dual  4  union all select '王五','3@163.com' from dual  5  union all select '六','4@163.com' from dual  6  )  7  select wm_concat(u.email) from u,(  8  select regexp_substr('三;李四;王五;六', '[^;]+',1,rownum) name from dual  9      connect by rownum<=length('三;李四;王五;六')-length(replace('三;李四;王五;六', ';', ''))+1) t 10  where u.name=t.name;WM_CONCAT(U.EMAIL)                                                              --------------------------------------------1@163.com,2@163.com,3@163.com,4@163.com
[解决办法]
。。。 按分号分隔你传进来的字符串。。。。 还要怎么解释。。。。

探讨
能大概解释下这2句吗?知道是正则表达式,但是思路看不懂


SQL code

select regexp_substr('三;李四;王五;六', '[^;]+',1,rownum) name from dual
9 connect by rownum<=length('三;李四;王五;六')-length(replace('三;李四;王五;六', ';', ……

读书人网 >oracle

热点推荐