Mysql 模糊匹配(字符串str中是否包含子字符串substr)

1、LIKE         通常与 % 一同使用,类似于一个元字符的搜索。若substr不在str中,则返回0。
SELECT  ‘test‘ LIKE ‘%e%‘ as `ret`;  # 1
SELECT  ‘test‘ LIKE ‘%a%‘ as `ret`;  # 0

2、INSTR(str,substr) 返回字符串 str 中子字符串的第一次出现位置。若substr不在str中,则返回0。
SELECT INSTR(‘test‘, ‘t‘); # 1
SELECT INSTR(‘test‘, ‘a‘); # 0

3、LOCATE(substr,str)  返回字符串 str中子字符串substr的第一次出现位置。若substr不在str中,则返回0。   LOCATE(substr,str,pos)  返回字符串 str中子字符串substr的第 pos位置后第一次出现位置。若substr不在str中,则返回0。
SELECT LOCATE(‘t‘,‘test‘); # 1
SELECT LOCATE(‘a‘,‘test‘); # 0

SELECT LOCATE(‘t‘,‘test‘,2); # 4

4、POSITION(substr IN str) 返回字符串 str中子字符串substr的第一次出现位置。若substr不在str中,则返回0。可看作LOCATE(substr,str)别名
SELECT POSITION(‘t‘ IN ‘test‘); # 1
SELECT POSITION(‘a‘ IN ‘test‘); # 0

原文地址:https://www.cnblogs.com/cmnull/p/10213176.html

时间: 2024-10-31 18:50:56

Mysql 模糊匹配(字符串str中是否包含子字符串substr)的相关文章

Mysql字符串字段中是否包含某个字符串,用 find_in_set

有这样一个需求,在Mysql数据库字符串字段(权限)中,有范围在 1 到 N 之间代表不同权限的值,分别被‘,’分开,现在要取出具有某权限的所有成员列表. 创建表: 1 CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),name VARCHAR(20) NOT NULL,limits VARCHAR(50) NOT NULL); 添加数据: 1 INSERT INTO users(name, limits)

编写一个函数char_contains(char str[],char c), 如果字符串str中包含字符c则返回数值1,否则返回数值0

/* 编写一个函数char_contains(char str[],char c), 如果字符串str中包含字符c则返回数值1,否则返回数值0 */ #include <string.h> #include <stdio.h> // 可读性 -> 性能 -> 精简(重构) int char_contains(char str[], char c); int main() { //int result = char_contains("itc8ast"

mysql模糊匹配查询like,regexp,in

mysql模糊匹配查询like,regexp,in 摘要 内容比较简单,无摘要. 关键词 模糊查询  like  regexp  in  contact 正文 下图是示例用到的数据表信息 MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi.grep和sed的扩展正则表达式模式匹配的格式 一.SQL模式 SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在 MySQL中,SQL的模式缺省是忽略大小写的.

js 判断字符串中是否包含某个字符串(转载)

from : https://www.cnblogs.com/ooo0/p/7741651.html String对象的方法 方法一: indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") != -1 ); // true indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则该方法返回 -1. 方法二: search() var str =

Mysql 模糊匹配和转义字符

首先创建一个测试表: insert into test(tt) values('\\\\172.18.28.153'); 现在我想使用模糊匹配,查出以 “\\172” 开头的字符串. 需要使用like 因为"\"是转义字符,所以需要使用4个"\".语句如下: SELECT * from test where tt like '\\\\172%' ; 结果无法得到我想要的数据,按理说这个字符串经过转义后变成“\\172%”应该得到结果才对. 经过多次不同的尝试,最终成

Node.js之判断字符串中是否包含某个字符串

server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境,直接可通过node test.js运行看效果): var fs = require("fs"); var result = fs.readFileSync("./server.txt"); console.log("result:"+result)

PHP判断字符串中是否包含指定字符串,支持中文哦

RT,随手写的 1 /** 2 * 判断字符串中是否包含指定字符串 3 * @var source 源字符串 4 * @var target 要判断的是否包含的字符串 5 * @return bool 6 */ 7 function hasstring($source,$target){ 8 preg_match_all("/$target/sim", $source, $strResult, PREG_PATTERN_ORDER); 9 return !empty($strResul

将字符串s1中的任何与字符串s2中字符匹配的字符都删除

编写一个程序,将字符串s1中的任何与字符串s2中字符匹配的字符都删除. 函数原型:void my_squeeze(char s1[], char s2[]) #include <stdio.h> void my_squeeze(char s1[], char s2[]) { int i = 0; int j = 0; while (s2[j]) { while(s1[i]) { if (s2[j]==s1[i]) { while (s1[i+1]) { s1[i] = s1[i + 1]; i

用php的strpos() 函数判断字符串中是否包含某字符串的方法

PHP strpos() 函数 strpos() 函数返回字符串在另一个字符串中第一次出现的位置. 如果没有找到该字符串,则返回 false.语法 strpos(string,find,start) 参数 描述string 必需.规定被搜索的字符串.find 必需.规定要查找的字符.start 可选.规定开始搜索的位置. 注释:该函数对大小写敏感.如需进行对大小写不敏感的搜索,请使用 stripos()函数.编辑本段例子 <?php echo strpos(www.idc-gz.com,"