sql中比较一个字符串中是否含有另一个字符串中的一个字符

[复制链接]
查看11 | 回复4 | 2020-3-15 20:01:15 | 显示全部楼层 |阅读模式
str1='1`2`3`4`5'
str2='1`2`3`4'
比较str1与str2
在str1中有'1234'其中任何一个就满足条件,当然具体数据不会如此规则,间隔符也不确定。
要在SQL语句中实现。

回复

使用道具 举报

千问 | 2020-3-15 20:01:15 | 显示全部楼层
1、既然你要判断其中一个是否包含了另一个,那你条件肯定要给SQL,SQL才能帮你找到的,2、这个条件肯定是你要给出的。比如str1='1`2`3`4`5'str2='1`2`3`4'那你叫SQL判断的其中的话,可以:SelectCharIndex('5',str1)
--这里的“5”具体要代入什么值去判断,就要你给出来了。SelectCharIndex('2`3',str1)
--这类的SQL是可以帮你去判断的。不包含的话就返回0否则就返回第一个相同字符的位置,比如这个就返回3 给你写一个函数来操作: CreatefunctionfSearch(@inStrvarchar
回复

使用道具 举报

千问 | 2020-3-15 20:01:15 | 显示全部楼层
先建一张辅助表:declare @a intset @a=0while @a<10000begininsert into nums select @aset @a=@a+1end然后写一个函数:alter function dbo.charindex_of(@str1 varchar(100) ,@str2 varchar
回复

使用道具 举报

千问 | 2020-3-15 20:01:15 | 显示全部楼层
这个不太好实现吧,要是数据固定的话就好实现了,你参考下这两个函数charindex()或patindex()
回复

使用道具 举报

千问 | 2020-3-15 20:01:15 | 显示全部楼层
select charindex('1234','12345')为1存在,0为不存在
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行