是测试用的, select * from @a a where exists(select 1 from @b where charindex(a.col,col)>0) 你写这个就好了
charindex在oracle 里不支持,oracle里是什么命令呢?谢谢
借用下 declare @a table(col varchar(2)) insert @a select 'aa' insert @a select 'bb' insert @a select 'cc' declare @b table(col varchar(8)) insert @b select 'aabb' insert @b select 'abcd' 然后 select a.col from @a a where (exists(select * from @b b where b.col like ('%'+a.col))) or (exists(select * from @b b where b.col like (a.col+'%')))
---结果补上 col ---- aa bb
頂5樓, 不過條件換成 where (exists(select * from @b b where b.col like ('%'+a.col+'%'))) PS: charindex在ORACLE中的對應函數INSTR: S:charindex (@a,@b) O:INSTR(@b,@a)注意參數位置要互換
insert @a select 'aa'
insert @a select 'bb'
insert @a select 'cc' declare @b table(col varchar(8))
insert @b select 'aabb'
insert @b select 'abcd'
select *
from @a a
where exists(select 1 from @b where charindex(a.col,col)>0)/*col
----
aa
bb(所影响的行数为 2 行)*/
发表于:2007-11-20 11:46:441楼 得分:0
SQL codedeclare @a table(col varchar(2))
insert @a select 'aa'
insert @a select 'bb'
insert @a select 'cc' declare @b table(col varchar(8))
insert @b select 'aabb'
insert @b select 'abcd'
是测试用的,
select *
from @a a
where exists(select 1 from @b where charindex(a.col,col)>0)
你写这个就好了
借用下
declare @a table(col varchar(2))
insert @a select 'aa'
insert @a select 'bb'
insert @a select 'cc' declare @b table(col varchar(8))
insert @b select 'aabb'
insert @b select 'abcd'
然后
select a.col
from @a a
where (exists(select * from @b b where b.col like ('%'+a.col))) or (exists(select * from @b b where b.col like (a.col+'%')))
---结果补上
col
----
aa
bb
where (exists(select * from @b b where b.col like ('%'+a.col+'%'))) PS: charindex在ORACLE中的對應函數INSTR:
S:charindex (@a,@b)
O:INSTR(@b,@a)注意參數位置要互換