SQL的substring_index()用法——MySQL字符串截取

  • Post author:
  • Post category:mysql



目录


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


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


(2)用于截取目标字符串。


2.实例


(1)从某字段截取目标字符串。


(2)与cast函数结合使用截取某字符串并转为目标格式。




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)用于截取目标字符串。




2.实例



(1)从某字段截取目标字符串。

例:现有一个学生信息表student,详细地址address储存省、市、县等由逗号隔开的地址信息,比如“XX省,XX市,XX区,…,XXX号”。由于某种原因没有学生所在省信息需要获取,同时获取学生姓名name,性别sex,年龄age。

select name,sex,age,
substring_index(address,',',1) as province
from student



(2)与cast函数结合使用截取某字符串并转为目标格式。

例:现有一张订单信息data,由于2022-03-04日期 之后存储日期信息的格式出错,日期前加了一些前缀,并用空格隔开,比如“13d 2022-02-01”,需要获取该表2022-03-04之后具体日期信息,同时获取单子offer_id,以及产品名name。

select cast(substring_index(ctime,' ',1) as date) as dt,
offer_id,name    
FROM data
WHERE substring_index(ctime,' ',1)>= '2022-03-04'

SQL的cast函数用法可参考

SQL的CAST()——转换数据类型_的博客-CSDN博客



版权声明:本文为m0_67391121原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。