Mysql从指定位置截取字符串

news/2024/11/15 6:36:22/文章来源:https://www.cnblogs.com/lingyejun/p/18370538

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

一.从左开始截取字符串

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

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

结果为:www.ling

二.从右开始截取字符串

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

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

结果为:un.com

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

用法:

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

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

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

结果为:yejun.com

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

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

结果为:yju

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

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

结果为:un.com

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

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

结果为:un

四.按关键字进行读取

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

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

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

结果为:www.lingyejun

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

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

结果为:lingyejun.com

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

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

结果为:www.lingyejun.com

 

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/784554.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化大屏的安全入口:高效登录与入口界面的关键设计(AxureRP原型)

在数据可视化项目中,登录界面和入口界面起着至关重要的作用。登录界面不仅是用户访问系统的第一个接触点,更是确保系统安全性的重要防线。通过有效的身份验证机制,它能够防止未经授权的用户访问敏感数据,保护数据的完整性和隐私。此外,登录界面还承担着展示品牌形象、提升…

RabbitMQ 基础概念与架构设计及工作机制学习总结

什么是RabbitMQ MQ全称为Message Queue,即消息队列. 它也是一个队列,遵循FIFO原则 。RabbitMQ则是一个开源的消息中间件,由erlang语言开发,基于AMQP协议实现的一个软件产品,提供应用程序之间的通信方法,在分布式系统开发中广泛应用。 AMQP协议 AMQP,即Advanced Message …

拖拽式报表设计器优点好 实现流程化办公就靠它!

您知道拖拽式报表设计器的优点是什么吗?当前,实现流程化办公是很多企业都想要实现的目标。利用低代码技术平台、拖拽式报表设计器的优势特点,可以为企业降低开发成本、提升办公效率、创造更多市场价值。那么,您知道拖拽式报表设计器的优点是什么吗?通过本文一起了解拖拽式…

ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32

ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32 有关 LVGL 和 MicroPython 的详细信息,请访问以下链接:lv_micropython GitHub 仓库 ESP32 端口目录说明 lv_micropython已经包含了这些驱动程序:lv_micropython 最大支持到 v4.4 版本,因此需要下载 esp-idf…

queue

queue 只能访问 queue<T> 容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。queue 的生成方式和 stack 相同,下面展示如何创建一个保存字符串对象的 queue: queue<string> words;也可以使用拷贝构造函数: queue<string>…

输出一个三角形

1.用for循环设置5次循环 2.包住循环,输出空白的三角形 3.接着for循环输出三角形建议使用debug来了解具体如何运行,此处不好解释

VMware 虚拟机BIOS增加OEM版SLIC2.1

VMware 虚拟机BIOS增加OEM版SLIC2.1 背景 因安装的VMware Win7虚拟机需激活, 现需修改虚拟机BIOS, 增加SLIC2.1支持, 方便激活Win7 指定你的bios文件路径在你的虚拟机目录下修改 *.vmx配置文件, 添加以下内容, 以使用自定义BIOS路径: # BIOS.440.xxx.ROM 是你的BIOS路径 bios44…

一门多范式的编程语言Scala学习的第一天-简介

Scala 1、Scala简介 1.1Scala的介绍scala是一门多范式的编程语言 Scala是把函数式编程思想和面向对象编程思想结合的一种编程语言 大数据计算引擎spark是由Scala编写的1.2Scala的特性 1.2.1多范式 1.2.1.1面向对象特性Scala 是一种高度表达性的编程语言,它结合了面向对象编程和…

VSCode系列 - 如何用VSCode搭建C++高效开发环境(1)

VSCode是笔者用过的最好用的开发工具,没有之一。笔者14年的码龄生涯中,先后用过Eclipse、 IntelliJ IDEA、 WebStorm、 PyCharm、 Visual Studio(2010/2013/2015)、 NetBeans、 Sublime Text等,但自从用VSCode之后,就再没换过其他工具,一直用到现在有5年多的时间。 1. 本文…

[PHP GD Study]我的世界皮肤转迷你世界

涉及图片旋转、放大、复制 目前仅实现了头部的复制 准备工作:迷你世界皮肤底图(命名为miniw.png):我的世界皮肤:源代码: ⚠AI生成 <?php // 设置上传文件的目标目录 $target_dir = "uploads/"; // 创建目标目录如果不存在 if (!file_exists($target_dir)) …

合同等文档的比对实现测试

记录一下合同等文档的比对测试,以下是实现docx格式与txt格式的内容对比结果图,其中图1为docx格式,是房屋租赁合同的内容对比结果;图2是纯文本txt格式的内容对比结果。图1图2

SourceTree离线安装

需求:要求在内网环境开发,连不上外网,安装sourceTree又是需要联网的,这就是尴尬了又不想用命令,已经习惯了sourceTree. 不说废话,上干货: 注意!!!一定按照步骤来,否则不会生效的。 注意!!!一定按照步骤来,否则不会生效的。 注意!!!一定按照步骤来,否则不会生…