MySQL实现字符串截取的图文教程
作者:new1024kb 发布时间:2024-01-16 05:44:05
前言
在后端开发过程中与数据库打交道乃是家常便饭,有时候会遇到只要数据库中的某条数据的一部分,这个时候有两种方式:
(1)把其读取出来后再进行相应的处理
(2)在读取的时候利用MySQL自带的函数进行处理
接下来我们就以第二种方式为列进行总结
(1)创建一个用户表,如下:
(2)left(col_name, length) 函数: 从左往右截取。col_name是列名(必选),length是从左往右截取的长度(必选 为正整数,如果为负数则什么也没返回,下标从1开始,不是0)
A:length:整数
B:length:负数
(3)right(col_name, length) 函数: 从右往左截取。col_name是列名(必选),length是从右往左截取的长度(必须 为正整数,如果为负数则什么也没返回 下标从1开始,不是0)
A:length:整数
B:length:负数
(4)substring(col_name, start, length)函数: col_name列名(必选),start从第几个开始(必选 为整数 从1开始),length截去长度(可选,为正整数)
A:start:正整数,length未选,从左边往右边数,第三个字符开始向右边截取,直到结尾。
B:start:负整数,length未选,从右边往左边数,第三个字符开始向右边截取,直到结尾。
C:start:正整数,length:正整数;从左边往右边数,第三个字符开始向右边截取5个字符。
D:start:负整数,length:正整数;从右边往左边数,第三个字符开始向右边截取3个字符。
E:当从star开始截取,紧跟其后面的字符数<length时(与D比较)
F:start:负整数,length:负整数;什么也没截取
(5)substring_index(col, a, num)函数:从第num个a来分割col,当num为正整数时,从左往右分割并左往右取;num为负整数时,从右往左分割并从右往左取。
A:以hello world 的第一个‘o’来进行分割 (分割后: hell oworld)
B:以hello world 的第二个‘o’来进行分割 (分割后: hello w orld)
C:从右往左数,以第一个‘o’进行分割(分割后:hello wo rld)
D:从右往左数,以第二个‘o’进行分割(分割后:hello world)
附:mysql相关字符串截取的函数详解
1、SUBSTRING_INDEX(subStr, matchStr, index)
根据匹配的字符以及出现的位置开始截取字符串
subStr: 需要截取的字段
matchStr: 匹配的字符
index: 从第几个匹配的字符,为正数时从左边开始查找并向左截取,为负数时从右边开始查找并向右截取
2、LEFT(subStr,index)
从左边开始向右截取,截至第index位(index从1开始)
subStr: 需要截取的字段
index: 停止截取的位置(包括该位置的字符)
3、RIGHT(subStr,index)
从右边开始向左截取,截至从右边开始数第index位(index从1开始)
subStr: 需要截取的字段
index: 停止截取的位置(包括该位置的字符)
4、SUBSTRING(subStr, index)
当index为负数时,从右边开始向左截取,截至从右边开始数第index位
当index为正数时,从左边开始向右截取,截至从左边开始数第index位
subStr: 需要截取的字段
index: 停止截取的位置(包括该位置的字符)
总结
来源:https://blog.csdn.net/qq_34430649/article/details/80358095


猜你喜欢
- 1、JS正则表达式一条龙讲解(从原理和语法到JS正则) https://www.aspxhome.com/article/1105
- 一、命名空间和作用域当出现了函数,变量声明的位置就发生了变化,不同位置声明的变量,能访问这个变量的范围也出现了限制1.1 定义**命名空间:
- 本文实例为大家分享了Virginia无密钥解密的具体代码,供大家参考,具体内容如下加密virginia加密是一种多表替换加密方法,通过这种方
- ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?]产生原因:这种错误
- <!--#include file="admin_Checkuser.asp"--> <%
- 定义直接赋值:就是对象的引用(别名)浅拷贝(copy):拷贝父对象,不拷贝对象内部的子对象深拷贝(deepcopy):copy模块的deep
- 本文实例讲述了Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能。分享给大家供大家参考,具体如下:/*** 利用php
- 我就废话不多说了,大家还是直接看代码吧!contacts = ExternalContacts.objects.filter(MobileK
- 一个朋友需要,所以写了这两个,话不多说,看代码中国电信号段 133、149、153、173、177、180、181、189、199中国联通号
- 在这里我们将介绍的是MySQL内存使用上的线程独享,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,
- 单下划线与双下划线在 python 中,会看到 _xx, xx 以及 __xx 这样的变量或者函数名,在这里做一个简要的总结。_xx:保护(
- Access 操作很简单,具体不步骤如下:打开你mdb数据库,工具-->数据库实用工具-->压缩和修复数据库(c)... SQL SERVE
- 主要使用IE各个阶段实现的一些方法,从中也可以看出IE的发展史。暂时提供到IE4的判定。var isIE = window.ActiveXO
- PHP程序员玩转Linux系列文章:1.PHP程序员玩转Linux系列-怎么安装使用CentOS2.PHP程序员玩转Linux系列-lnmp
- 本文针对Python的全局变量实现方法简述如下:先来看下面一段测试程序:count = 0def Fuc(count): pri
- 一、获取安装包:Pycharm 官网 下载页面 :点击打开Anconda 官网 下载页面 :点击打开选择对应的系统和需要的版本进行下载,py
- 目录前言全局参数持久化写在最后总结参考文档:前言自从 2018 年发布第一版 MySQL 8.0.11 正式版至今,MySQL 版本已经更新
- 问题描述如下:解决方案如下:下图中字体调整为18及以上效果如下:来源:https://blog.csdn.net/appleyuchi/ar
- 一、原型模式原型是相对于复制、克隆而言的,但是不同于模板,模板创造出的东西是一模一样,而原型创造出的东西是允许存在差异化和个性化的。原型模式
- 语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说ROW_NUMBE