我的数据中有两个字段,都是varchar型的,但是,想把两个字段有5个相同的字符的记录找出来,怎么操作啊?
呵呵,,我少写了个字,是在数据库中,模糊查询,,不是程序处理
数据库SQL模糊匹配查询
答案:2 悬赏:10 手机版
解决时间 2021-02-28 20:27
- 提问者网友:骨子里的高雅
- 2021-02-28 11:17
最佳答案
- 五星知识达人网友:北城痞子
- 2021-02-28 11:41
Sql Server 环境,如果环境不对, 自己参考思路去修改吧
select * into #temp1 from table1 where len(col1) > 5 and len(col2) > 5
select * into #temp_end from #temp1 where 1=3
Declare @i int,@ii int
Declare @uid int,@col1 varchar(255),@col2 varchar(255)
Declare Fetch_Query_Cursor cursor for select UID,col1,col2 from #temp1
Open Fetch_Query_Cursor
Fetch Next From Fetch_Query_Cursor into @uid,@col1,@col2
while @@Fetch_status = 0
begin
select @i = 1,@ii=0
while @i<=len(@col1)
begin
if charindex(substring(@col1,@i,1),@col2) > 0
select @ii = @ii+1
select @i = @i+1
end
If @ii >=5
Insert into #temp_end select * from #temp1 where Uid = @uid
Fetch Next From Fetch_Query_Cursor into @uid,@col1,@col2
end
Close Fetch_Query_Cursor
Deallocate Fetch_Query_Cursor
Select * from #temp_end
Drop table #temp1
Drop table #temp_end
select * into #temp1 from table1 where len(col1) > 5 and len(col2) > 5
select * into #temp_end from #temp1 where 1=3
Declare @i int,@ii int
Declare @uid int,@col1 varchar(255),@col2 varchar(255)
Declare Fetch_Query_Cursor cursor for select UID,col1,col2 from #temp1
Open Fetch_Query_Cursor
Fetch Next From Fetch_Query_Cursor into @uid,@col1,@col2
while @@Fetch_status = 0
begin
select @i = 1,@ii=0
while @i<=len(@col1)
begin
if charindex(substring(@col1,@i,1),@col2) > 0
select @ii = @ii+1
select @i = @i+1
end
If @ii >=5
Insert into #temp_end select * from #temp1 where Uid = @uid
Fetch Next From Fetch_Query_Cursor into @uid,@col1,@col2
end
Close Fetch_Query_Cursor
Deallocate Fetch_Query_Cursor
Select * from #temp_end
Drop table #temp1
Drop table #temp_end
全部回答
- 1楼网友:持酒劝斜阳
- 2021-02-28 12:54
可以的,不过要加一个通配符,给你点例子
sql模糊查询,使用like比较字,加上sql里的通配符,请参考以下:
1、like'mc%' 将搜索以字母 mc 开头的所有字符串(如 mcbadden)。
2、like'%inger' 将搜索以字母 inger 结尾的所有字符串(如 ringer、stringer)。
3、like'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 bennet、green、mcbadden)。
4、like'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 cheryl、sheryl)。
5、like'[ck]ars[eo]n' 将搜索下列字符串:carsen、karsen、carson 和 karson(如 carson)。
6、like'[m-z]inger' 将搜索以字符串 inger 结尾、以从 m 到 z 的任何单个字母开头的所有名称(如 ringer)。
7、like'm[^c]%' 将搜索以字母 m 开头,并且第二个字母不是 c 的所有名称(如macfeather)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯