MySQL函数Locate的使用详解
Locate函数主要的作用是判断一个字符串是否包含另一个字符串,如
- Locate(str,sub) > 0,表示sub字符串包含str字符串;
- Locate(str,sub) = 0,表示sub字符串不包含str字符串。
该函数常常与<![CDATA[]]> 组件一起使用,该组件作用是防止字符串进行转义。比如:
select * from stu s where <![CDATA[Locate(#{name},s.name)>0]]>
mysql的instr函数有着相似的功能,instr(str,sub)返回的是字符串sub在字符串str第一次出现的位置,其中instr(str,sub) = 0 表示字符串str不包含字符串sub。
因此,locate,instr,like都可以用来实现模糊查询,如下三条sql实现的功能是一样的。
select * from stu s where s.name like concat('%',#{name},'%') ; select * from stu s where instr(s.name,#{name}) > 0; select * from stu s where locate(#{name},s.name) > 0;
示例
SELECT * FROM party_course_study WHERE LOCATE(findCode, '00001') >0 // 注:Mybatis使用场景,需要加 <![CDATA[ ]]> SELECT * FROM party_course_study WHERE <![CDATA[ LOCATE(findCode, '00001') > 0 ]]>
功能类似的函数(不做详细介绍)
- LOCATE(substr,str) ,
- LOCATE(substr,str,pos)
- POSITION(substr IN str)
- INSTR(str,substr)
到此这篇关于MySQL函数Locate的使用详解的文章就介绍到这了,更多相关MySQL Locate函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
MySQL中的LOCATE和POSITION函数使用方法
LOCATE(substr,str) POSITION(substr IN str) 返回子串 substr 在字符串 str 中第一次出现的位置.如果子串 substr 在 str 中不存在,返回值为 0: mysql> SELECT LOCATE('bar', 'foobarbar'); -> 4 mysql> SELECT LOCATE('xbar', 'foobar'); -> 0 这个函数是多字节安全的.在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 My
-
MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解
常用的一共有4个方法,如下: 1.使用locate()方法 普通用法: SELECT`column`from`table`wherelocate('keyword',`condition`)>0 类似于java的indexOf(); 不过locate()只要找到返回的结果都大于0(即使是查询的内容就是最开始部分),没有查找到才返回0: 指定起始位置: SELECT LOCATE('bar','foobarbar',5);(从foobarbar的第五个位置开始查找) 2.使用instr()函数(据
-
MySQL中预处理语句prepare、execute与deallocate的使用教程
前言 MySQL官方将prepare.execute.deallocate统称为PREPARE STATEMENT,我习惯称其为[预处理语句],其用法十分简单,下面话不多说,来一起看看详细的介绍吧. 示例代码 PREPARE stmt_name FROM preparable_stmt EXECUTE stmt_name [USING @var_name [, @var_name] ...] - {DEALLOCATE | DROP} PREPARE stmt_name 举个栗子: mysql>
-
MySQL函数Locate的使用详解
Locate函数主要的作用是判断一个字符串是否包含另一个字符串,如 Locate(str,sub) > 0,表示sub字符串包含str字符串: Locate(str,sub) = 0,表示sub字符串不包含str字符串. 该函数常常与<![CDATA[]]> 组件一起使用,该组件作用是防止字符串进行转义.比如: select * from stu s where <![CDATA[Locate(#{name},s.name)>0]]> mysql的instr函数有着相似
-
mysql数据存储过程参数实例详解
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible). drop procedure if exists pr_param_in; create procedure pr_param_in ( in id
-
mysql常用日期时间/数值函数详解(必看)
1.日期时间函数 时间转化秒函数:time_to_sec MySQL> select time_to_sec('01:01:01'); +-------------------------+ | time_to_sec('01:01:01') | +-------------------------+ | 3661 | +-------------------------+ 1 row in set (0.00 sec) 秒转化时间函数:sec_to_time mysql> select se
-
MySQL加密和解密实例详解
MySQL加密和解密实例详解 数据加密.解密在安全领域非常重要.对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大. 有多种前端加密算法可用于数据加密.解密,下面我向您推荐一种简单的数据库级别的数据加密.解密解决方案.以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT()). 在建表的时候,要注意字段的类型.如下图所示: 在表中插入加密数据 上面的插入语句有三个字段,"用户名"."密码&qu
-
SQL开窗函数的具体实现详解
开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成.为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数的使用使得这些经典的难题可以被轻松的解决.目前在 MSSQLServer.Oracle.DB2 等主流数据库中都提供了对开窗函数的支持,不过非常遗憾的是 MYSQL 暂时还未对开窗函数给予支持. 开窗函数简介:与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值
-
MYSQL中Truncate的用法详解
本文导读:删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似:但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少.下面介绍SQL中Truncate的用法 当你不再需要该表时, 用 drop:当你仍要保留该表,但要删除所有记录时, 用 truncate:当你要删除部分记录时(always with a WHE
-
Mysql调优Explain工具详解及实战演练(推荐)
Mysql调优Explain工具详解以及实战演练 Explain工具介绍Explain分析示例explain 两个变种explain中的列 索引最佳实战索引使用总结: Mysql安装文档参考 Explain工具介绍 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是 执行这条SQL 注意:如果 from 中包含子查询,仍会执行该子
-
MySQL的Query Cache图文详解
目录 一.原理概述 二.Query Cache系统变量 1. have_query_cache 2. query_cache_limit 3. query_cache_min_res_unit 4. query_cache_size 5. query_cache_type 6. query_cache_wlock_invalidate 三.Query Cache状态变量 1. Qcache_free_blocks 2. Qcache_free_memory 3. Qcache_hits 4. Q
-
Mysql的并发参数调整详解
目录 查询缓存优化 概述 查询流程 查询缓存配置 查询缓存失效的情况 内存管理优化 内存优化原则 MyISAM内存优化 InnoDB内存优化 连接优化 max_connection back_log table_open_cache thread_cache_size innodb_lock_wait_timeout 日志 log_bin binlog_do_db binlog_ignore_db sync_binlog general_log=1 general_log_filefile_na
-
mysql语法之DQL操作详解
目录 简单查询 运算符查询 排序查询 聚合查询 分组查询 分页查询 一张表查询结果插入到另一张表 SQL语句分析 DQL小练习1 DQL小练习2 正则表达式 总结 DQL(Data Query Language),数据查询语言,主要是用来查询数据的,这也是SQL中最重要的部分! 简单查询 #DQL操作之基本查询 #创建数据库 CREATE DATABASE IF NOT EXISTS mydb2; #使用数据库 USE mydb2; #创建表 CREATE TABLE IF NOT EXISTS
随机推荐
- NodeJS学习笔记之FS文件模块
- 详解thinkphp+redis+队列的实现代码
- java 获取用户的MAC地址多种方法实例详解
- 使用XSD校验Mybatis的SqlMapper配置文件的方法(2)
- Windows下安装python MySQLdb遇到的问题及解决方法
- Visual Studio 2017+OpenCV环境搭建教程
- 通过ASP.net实现flash对数据库的访问
- ASP.NET MVC5使用MiniProfiler监控MVC性能
- js实现文字向上轮播功能
- PHP中的print_r 与 var_dump 输出数组
- javascript中匹配价格的正则表达式
- jQuery让控件左右移动的三种实现方法
- Docker 教程之私有仓库详解
- JavaScript实现垂直滚动条效果
- 程序员编程从初级到中级的10个秘诀
- Android添加水印的正确方法 只要三步!
- CentOS 7 下LAMP实现及基于https的虚拟化主机
- Python字符串格式化的方法(两种)
- Jquery修改image的src属性,图片不加载问题的解决方法
- 滚动条的监听与内容随着滚动条动态加载的实现