详细分析Mysql中的LOCATE函数(附Demo)

打印 上一主题 下一主题

主题 1795|帖子 1795|积分 5385

1. 基本概念

LOCATE()函数在SQL中用于在字符串中查找子字符串的位置
它的一样平常语法如下:
  1. LOCATE(substring, string, start)
复制代码
LOCATE()函数返回子字符串在主字符串中第一次出现的位置
假如未找到子字符串,则返回0
具体的参数如下:


  • substring是要查找的子字符串
  • string是要在此中查找子字符串的主字符串
  • start是可选参数,表现搜索的起始位置。假如省略,则从字符串的开头开始搜索
以下是一个简单的示例:
  1. SELECT LOCATE('is', 'This is a sample string');
复制代码
在这个例子中,LOCATE()函数将返回3,因为子字符串 ‘is’ 在主字符串 ‘This is a sample string’ 中第一次出现的位置是第3个字符
2. Demo

注意事项:


  • 假如子字符串出现在主字符串的开头,返回值将是1
  • 假如子字符串不存在,返回值将是0
  • 假如省略了可选的起始位置参数,则从主字符串的开头开始搜索
  • 假如提供了起始位置参数,则从该位置开始搜索
相应的Demo如下:
一、找出字符串中的子字符串位置:SELECT LOCATE('world', 'Hello world');
效果是6,因为 ‘world’ 在 ‘Hello world’ 中的第6个位置开始
二、使用起始位置参数:SELECT LOCATE('is', 'This is a sample string', 3);
这将返回5,因为它从位置3开始搜索,并找到了 ‘is’ 的第一个实例,即 ‘This is…’ 中的第5个字符
三、查抄子字符串是否存在:SELECT IF(LOCATE('apple', 'I like apples') > 0, 'Exists', 'Does not exist');
这将返回 ‘Exists’,因为 ‘apple’ 存在于 ‘I like apples’ 中
实际应用中,您可以根据需要将其与其他SQL函数和条件语句结合使用
3. 实战

对于实战的Demo,可灵活运用
比如用在Java的Mybatis中的Mapper文件中
截图如下:

对于详细的CRUD以及JAVA知识,推荐阅读:

  • java框架 零基础从入门到精通的学习门路 附开源项目面经等(超全)
  • 【Java项目】实战CRUD的功能整理(持续更新)
  • Mybatis从入门到精通(全)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表