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

str1='1`2`3`4`5'str2='1`2`3`4'比较str1与str2在str1中有'1234'其中任何一个就满足条件,当然具体数据不会如此规则,间隔符也不确定。要在SQL语句中实现。

sql中比较一个字符串中是否含有另一个字符或字符串可用charindex函数。

如:

select charindex('爱','我爱祖国')

结果为:

返回值2为“爱”在“我爱祖国”中的位置。

如:

select charindex('a','我爱祖国')

结果为:

返回值为0,则代表“a”不存在于“我爱祖国”字符串中。



语法:

CHARINDEX ( expression1 , expression2 , [ start_location ] )

参数:

expression1

一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。

expression2

一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。

start_location

在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
1、既然你要判断其中一个是否包含了另一个,那你条件肯定要给SQL,SQL才能帮你找到的,2、这个条件肯定是你要给出的。比如str1='1`2`3`4`5'str2='1`2`3`4'那你叫SQL判断的其中的话,可以:Select CharIndex('5',str1) --这里的“5”具体要代入什么值去判断,就要你给出来了。Select CharIndex('2`3',str1) --这类的SQL是可以帮你去判断的。不包含的话就返回0否则就返回第一个相同字符的位置,比如这个就返回3本回答被网友采纳