mysql 检查字符串是否包含子串

1、使用substring_index(src,target,index) 从src的开头查找第index个target。返回的substring为从src的开头到第num个target这段字符串。比如

substring_index(‘absscdessfss‘,‘ss‘,1) 返回ab

substring_index(‘absscdessfss‘,‘ss‘,2) 返回absscde

substring_index(‘absscdessfss‘,‘tt‘,1) 返回absscdessfss

因此,检查字符串是否包含子串,使用substring_index(‘absscdessfss‘,‘tt‘,1) 看他返回是不是一个子串,是子串说明包含,返回的是原来完成的字符串,说明不包含。

length(src) - length(substring_index(src,target,1)) >0 说明包含。

2、第二种办法,把target替换为空字符串,如果存在target,则替换后的长度必定小于原来的长度

length(src) - length(replace(src,target,‘‘)) >0 说明包含。

进一步思考,还可以计算包含几个子串,长度的差值除以target的长度,就是包含子串的个数。

select (length(src) - length(replace(src,target,‘‘)))/length(target);

时间: 2024-12-20 17:48:07

mysql 检查字符串是否包含子串的相关文章

MS SQL验证字符串是否包含有大小写字母

昨晚有实现一个小功能,就是在MS SQL Server中,检查字符串是否包含有大小写字母.通常应用在字符串的复杂度. DECLARE @s NVARCHAR(40) = N'SDFfgGRYJhhTYUJ' IF LOWER(@s) COLLATE Latin1_General_CS_AS <> @s AND UPPER(@s) COLLATE Latin1_General_CS_AS <> @s PRINT 'T' ELSE PRINT 'F' Source Code 实时操作演

判断一个字符串是否包含一个子串的方法

在我们前端日常开发中,经常会遇到判断一个字符串中是否包含某个子串,在此篇文章,我们将去探究一些解决此种需求的方法以及正确的使用它们.理想情况下,我们要找的是一个能匹配我们的目的(if x contains y)的方法,并返回true或false. 一.String.prototype.indexOf和String.prototype.lastIndexOf i这两个方法,可能是我们最容易想到的,如果包含子串,则返回大于等于0的索引,否则返回-1,没有达到我们的理想情况. var str = "M

Js判断一个字符串是否包含一个子串

Js中经常遇到判断一个字符串是否包含一个子串,java语言中有containes的方法,直接调用就可以了.除非引用第三方数据库,Js中没有contains方法. 为了实现更java语言中containes方法相同的效果,最简单的一种做法是利用js中字符串查找位置的方法indexOf(“o”大写).此方法的返回的值得可能有 -1,0,n(正整数)三种情况.0是当子串在字符串第1位开始包含的情况下返回,例子如下: <script> var str="he"; var strin

《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 &amp;&amp; 简化字符串的translate方法的使用

检查字符串中是否包含某字符集合中的字符  任务: 检查字符串中是否出现了某个字符集合中的字符 解决方案: 方案一: import itertools def containAny(seq,aset): for item in itertools.ifilter(aset.__contains__,seq): return True return False if __name__ == "__main__": l1 = list('python') l2 = set('x') prin

mysql之字符串操作

写在前面 上篇文章学习了mysql常用的日期操作的函数,这篇文章将学习mysql的字符串操作的函数. 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,update mysql之group by,order by mysql之count,max,min,sum,avg,celing,floor mysql之日期函数 mysql实战 1.ASCII(str) select ascii('a'); select ascii('ab'); select

mysql的字符串函数

From: http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/12/13/1904330.html 对于针对字符串位置的操作,第一个位置被标记为1. 1.ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql

Minimum Window Substring, 包含子串的最小窗口,双指针

问题描述:给定字符串S,子串T,求S中包含T的最小窗口 Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example,S = "ADOBECODEBANC"T = "ABC" Minimum window is "BANC". 算法分析:

Openjudge-NOI题库-字符串移位包含问题

题目描述 Description 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串. 给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串.例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串. 输入输出格式 Input/output 输入: 一行,包含两个字符串,中间由单个空格隔开.字符串只包含字母和数字,长度不超过30. 输

字符串-02. 删除字符串中的子串(20)

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以回车结束的2个非空字符串,对应S1和S2. 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串. 输入样例: Tomcat is a male ccatat cat 输出样例: Tom is a male import java.util.Scanner; public class Main { public static