mysql的截取函数用法详解(mysql查询结果截取)

createh54个月前 (02-01)技术教程23

substring()函数

测试数据准备:



用法:

以下语法是mysql自动提示的

1:substirng(str,pos):从指定位置开始截取一直到数据完成

str:需要截取的字段的

pos:开始截取的位置。从开始截取位置一直截取到str最后一位

2:substirng(str FROM pos):从指定位置开始截取一直到数据完成

str:需要截取的

FROM pos:开始位置。

注意,此种用法和第一种用法的区别在于第二种用法没有逗号

3:substirng(str,pos,len):从指定位置截取到指定位置结束

str:需要截取的

pos:起始位置

len: 截取长度

4:substirng(str from pos for len):从指定位置截取到指定位置结束

str:需要截取的

pos:起始位置

len:步长

特殊用法:

T1.SELECT SUBSTRING(Str , -pos) :字符串倒着数第ps位到结束

参数说明:

str:需要截取的

-pos:长度

是的!你没有看错!就是负数!

负数什么意思?倒着来的。

比如我要最后三个:

T2.SELECT SUBSTRING(Str , -pos,len)

str:要截取的字符串

-pos:起始位置。当为负数是倒着数的第POS位

len:截取长度。长度不能是负数。且当长度<= pos的时候是指定个数的。如果len>pos将是从-pos到结束位置(此时功能同:SUBSTRING(STR,-POS);

len<|pos|绝对值:

len =|pos|绝对值



len>|pos|绝对值

延伸知识1:

substring_index:返回从字符串str分隔符 delim 在计数发生前的子字符串。如果计数是正的,则返回一切到最终定界符(从左边算起)的左侧。如果count是负数,则返回一切最终定界符(从右边算起)的右侧。SUBSTRING_INDEX() 搜寻在delim时进行区分大小写的匹配。

语法:substring_index(str,delim,count)

参数说明:

str:要截取的

delim:截取字符

count:起始位置开始到delim结束的长度

比如:截取web字段中从第二个"."之前的所有数据。

count为负数时候:是倒着数的

当截取的字符不在str中则返回整条数据

延伸知2:

使用left和right函数同样可以截取

1、从左开始截取字符串

left(str, length)

说明:left(被截取字段,截取长度)

例:select left(content,200) as abstract from my_content_t

2、从右开始截取字符串

right(str, length)

说明:right(被截取字段,截取长度)

例:select right(content,200) as abstract from my_content_t

相关文章

「Java知识」字符串拼接不要再StringBuilder了用StringJoiner爽

介绍语本号主要是Java常用关键技术点,通用工具类的分享;以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+do...

Easysearch Java SDK 2.0.x 使用指南(三)

在 Easysearch Java SDK 2.0.x 使用指南(一) 中,我们介绍了 Easysearch Java SDK 2.0.2 的基本使用和批量操作功能。在 Easysearch Java...

我接手前同事写的烂Java代码,不小心搞出了一个内存泄露事故

目录String 字符串在内存里是如何存储的?String.intern() 方法String 字符串是如何引发内存泄漏呢?总结今天给大家聊聊咱们平时写代码的时候,最常见的 String 字符串代码,...

线上系统性能太差,我手写了字符串切割函数,性能提升10倍以上

目录工作中常用的 split() 切割字符串效率高吗?JDK 提供字符串切割工具类 StringTokenizer手把手带你实现一个更高效的字符串切割工具类总结今天给大家介绍一个小知识点,但是会非常的...