sql中比较一个字符串中是不是含有另一个字符串中的一个字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中比较一个字符串中是不是含有另一个字符串中的一个字符相关的知识,希望对你有一定的参考价值。
str1='1`2`3`4`5'str2='1`2`3`4'比较str1与str2在str1中有'1234'其中任何一个就满足条件,当然具体数据不会如此规则,间隔符也不确定。要在SQL语句中实现。
sql中比较一个字符串中是否含有另一个字符或字符串可用charindex函数。
如:
结果为:
返回值2为“爱”在“我爱祖国”中的位置。
如:
select charindex(\'a\',\'我爱祖国\')结果为:
返回值为0,则代表“a”不存在于“我爱祖国”字符串中。
语法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。
start_location
在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。
参考技术A 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否则就返回第一个相同字符的位置,比如这个就返回3db2数据库怎么查询数据中含有特殊字符的
其中card就是记录数列。但是如果表变化比较大,要先用RUNSTATS进行统计的,这恐怕还要一张张表做。或者编程处理。select sysstat.tables.tabschema,sysstat.tables.tabname,sysstat.tables.card from sysstat.tables,c where sysstat.tables.tabschema=c.col1 and tabname=c.col2 参考技术A like是标准SQL语法
以上是关于sql中比较一个字符串中是不是含有另一个字符串中的一个字符的主要内容,如果未能解决你的问题,请参考以下文章