首页 > 数据库 >mysql substring_index

mysql substring_index

时间:2023-06-05 16:14:19浏览次数:43  
标签:index string 截取 substring mysql position

1.substring_index 函数的语法及其用法

(1)语法:substring_index(string,sep,num)

即substring_index(字符串,分隔符,序号)

参数说明

  string:用于截取目标字符串的字符串。可为字段,表达式等。

  sep:分隔符,string存在且用于分割的字符,比如“,”、“.”等。

  num:序号,为非0整数。若为整数则表示从左到右数,若为负数则从右到左数。

案例:

  比如“www.mysql.com”截取字符‘www’,分割符为“.”,从左到右序号为1,即substring_index("www.mysql.com",'.',1);

  若从右开始获取“com”则为序号为-1即substring_index("www.mysql.com",'.',-1)

(2)案例,获取括号内容

SUBSTRING_INDEX(SUBSTRING_INDEX(字段,‘开头条件’,-1),‘结尾条件’,1)

如下,有一数据表名为(TEST),数据表格式如下,desp的格式为固定 需要截取中间括号的内容

iddesp
1 lalalalalalallalal'(dongdongdong)'11111
2 lalalalalalallalal'(xixixixi)'11111

 

select substring_index(substring_index(desp,"(",-1),")" ,1) from TEST

 

2. mysql substring

(2.1)substring(string, position, length)

  第一个参数string指的是需要截取的原字符串。

  第二个参数position指的是从哪个位置开始截取子字符串,(需要注意的是这里字符的位置编码序号是从1开始,比如’pandas’里d的位置是4,而放到Python中为3),若position为负数则从右往左开始数位置。

  第三个参数length指的是需要截取的字符串长度,如果不写,则默认截取从position开始到最后一位的所有字符。

例:substring(‘pandas’, length(pandas)-2, 2) 的结果为 ‘da’.

(2.2)substring(string from position for length)

是一种更加规范的写法,参数含义同上所述。

同样,这里的 for length可以不写,默认从position开始截取到最后一个字符。

例:substring(‘pandas’ from 4 for 2) 的结果为 ‘da’.

(2.3)配合 instr(str,findstr)

获取字符串出现的下标值,select instr('abcd','b') 结果会是 2 。





标签:index,string,截取,substring,mysql,position
From: https://www.cnblogs.com/gered/p/17458036.html

相关文章

  • Mysql:事务
    事务特性事务的特性:acid。原子性(重要)事务内的一组操作为原子操作,要么全部成功,要么全部失败。在实际业务如转账,就必须保证一方数目多了一方少了,数目平衡。一致性(面试常问)事务成功或失败的结果必须符合业务逻辑。还是以转账为例,A转给B100块,成功就A少100,B多100,失败就双方金额该......
  • pymysql.err.DataError: (1366, “Incorrect string value: ‘\\xF0\\x9F\\x92
    原因是字符串中有emoji数据。原因:字符串中有emoji字符,数据库是utf8无法识别解决方法:安装emoji库pipinstallemoji处理字符串:importemojis=emoji.demojize('......
  • mysql数据自动备份脚本
    #!/bin/bash#日期date=$(date'+%Y%m%d')#设置备份目录和保留天数backup_dir="/opt/dbback"retention_days=7#数据库账密muser=mpasswd=mhost=#创建备份目录(如果不存在)mkdir-p$backup_dir#获取当前时间戳now=$(date+%s)#备份MySQL数据库到备份目......
  • MySQL数据库表结构优化方式详解
    前言从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系。非常适合零基础的小伙伴来学习。全文大约【2083】字,不说废话,只讲可以让你学到技术、明白原理的纯干......
  • Mysql 主从备份 Last_Errno: 1146 Last_Error: Error executing row event: 错误问题
    本人在做主从备份的时候发现了此问题! 1主数据库是已经把这个表删除了丛数据库也是没有备份这个表但是一直报这个错原因是bin-log日志有这个表 但是没记录到已经把这个表删除了 主从表同步实际从库是根据主库的bin-log二进制的SQL进行执行的 这是Mysql的一个BUG1......
  • 西北农林科技大学,我的母校! http://xnxy.43i.net/index.php
          西北农林科技大学,我的母校!曾经在校园里,看着"今天你以学校为荣,明天学校以你为荣"的横幅,心里默默给自己加油,希望真的可以如此;今天毕业了,在茫茫深圳,怀揣梦想努力着,却不忘曾经那份感情,梦中游弋在母校的角角落落,我想身为西农校友的一份......
  • mysql 8.0 解压版安装以及安装版更改密码
    解压版:下载地址https://dev.mysql.com/downloads/mysql/在根目录下创建文本文档,并重命名为my.ini文件 使用文本编辑器打卡my.ini,将下面内容复制进去[mysqld]#validate_password密码校验#plugin-load-add=validate_password.dll#connection_control登录超时插件#p......
  • mysql 递归查询父级下的所有子级
    有一张组织表,该表有上下层级,使用mysql递归查询某个组织下的所有子组织,sql要怎么写?假设这张表名为organization的表,其结构如下:CREATETABLEorganization(idINTPRIMARYKEY,nameVARCHAR(50),parent_idINT);表里插入了几条数据INSERTINTO`organization`(`......
  • MySQL学习从基础开始
    1.什么是数据库DataBase,简称DB;数据库软件称为数据库管理系统,英文简称DBMS,全称为DataBaseManagementSystem,例如:Oracle、MySQL、SQLServer、Sybase、informix、DB2等等。2.MySQL概述MySQL最初是由“MySQLAB公司”开发的一套关系型数据库管理系统(RDBMS-RelationDataBas......
  • mysql备忘录
    MySQL8下载安装腾讯云Ubuntu20.04服务器下载MySQL8并开启远程服务下载sudoaptupdate#更新Ubuntu存储库sudoaptinstallmysql-server#下载mysqlsudosystemctlstatusmysql#查看mysql状态配置启动找到mysqld文件路径find/-namemysql.server或find/-namemy......