字符串匹配

happyrain2010 2010-07-14 09:29:10
oracle 10g数据库
一个表中字段为460051789900

一个表中字段为46005

这两个表怎么通过这个字段开始匹配 做join
...全文
104 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2010-07-15
  • 打赏
  • 举报
回复
呵呵, 最好不要用到函数,那样即使有索引也用不上
lzbbob1985 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 orhcle 的回复:]
SQL code
length(replace('abc123','abc',''))>0
[/Quote]

很有特色哦
cosio 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 orhcle 的回复:]
SQL code
length(replace('abc123','abc',''))>0
[/Quote]

比较赞同这个!
minitoy 2010-07-14
  • 打赏
  • 举报
回复
表1字段 like 表2字段||'%'
ORHCLE 2010-07-14
  • 打赏
  • 举报
回复
length(replace('abc123','abc',''))>0
cyousor 2010-07-14
  • 打赏
  • 举报
回复

with t as(
select '460051789900' name from dual union all
select '4600517899001' from dual union all
select '4500517899001' from dual ),t1 as(
select '46005' name from dual union all
select '45005' name from dual )
select t.*,t1.* from t,t1
where regexp_like(t.name,t1.name)
wj0728 2010-07-14
  • 打赏
  • 举报
回复
楼上正解
lzbbob1985 2010-07-14
  • 打赏
  • 举报
回复
instr(col_1,col_2) >= 1
心中的彩虹 2010-07-14
  • 打赏
  • 举报
回复
楼上的答案都可以
心中的彩虹 2010-07-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 happyrain2010 的回复:]
oracle 10g数据库
一个表中字段为460051789900

一个表中字段为46005

这两个表怎么通过这个字段开始匹配 做join
[/Quote]

trim(col1)=substr(trim(col2),1,5)
gongjiagui123 2010-07-14
  • 打赏
  • 举报
回复
select
*
from 表1 a
left join 表2 b
on substr(a.字段1,1,5)= b.字段1
WXHDSWH 2010-07-14
  • 打赏
  • 举报
回复
支持3搂!

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧