Mysql从指定位置截取字符串

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。

一.从左开始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取长度)

1
SELECT LEFT('www.lingyejun.com',8);

结果为:www.ling

二.从右开始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取长度)

1
SELECT RIGHT('www.lingyejun.com',6);

结果为:un.com

三.截取特定长度的字符串

用法:

  • substring(str, pos),即:substring(被截取字符串, 从第几位开始截取)
  • substring(str, pos, length),即:substring(被截取字符串,从第几位开始截取,截取长度)

1.从字符串的第9个字符开始读取直至结束

1
SELECT SUBSTRING('www.lingyejun.com', 9);

结果为:yejun.com

2.从字符串的第9个字符开始,只取3个字符

1
SELECT SUBSTRING('www.lingyejun.com', 9, 3);

结果为:yju

3.从字符串的倒数第6个字符开始读取直至结束

1
SELECT SUBSTRING('www.lingyejun.com', -6);

结果为:un.com

4.从字符串的倒数第6个字符开始读取,只取2个字符

1
SELECT SUBSTRING('www.lingyejun.com', -6, 2);

结果为:un

四.按关键字进行读取

用法:substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)

1.截取第二个“.”之前的所有字符

1
SELECT SUBSTRING_INDEX('www.lingyejun.com', '.', 2);

结果为:www.lingyejun

2.截取倒数第二个“.”之后的所有字符

1
SELECT SUBSTRING_INDEX('www.lingyejun.com', '.', -2);

结果为:lingyejun.com

3.如果关键字不存在,则返回整个字符串

1
SELECT SUBSTRING_INDEX('www.lingyejun.com', 'sprite', 1);

结果为:www.lingyejun.com

 

本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。

首发链接:https://www.cnblogs.com/lingyejun/p/18370538

posted @   翎野君  阅读(4745)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示