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

createh51个月前 (02-01)技术教程10

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

相关文章

截取字符串——Substring用法(substring截取字符串数据库)

string类提供了一个Substring方法,可以截取字符串中指定位置和指定长度的字符。详细讲解:namespace ConsoleApplication2 { class Program...

汉字转拼音Chinese to Pinyin(汉字转拼音大写在线翻译)

从网上找的资料,记得以前在C#中曾经用过这类资料,保存下来以后再进一步测试和应用。一、引入maven依赖 com.belerweb pinyin4j 2.5.0 二、工具类Pinyi...

MySql字符串拆分实现split功能(字段分割转列、转行)

字符串转多行字符串拆分: SUBSTRING_INDEX(str, delim, count)替换函数:replace( str, from_str, to_str)获取字符串长度:LENGTH( s...

【Java深度干货】如何高效构造字符串(String)?

字符串在 Java 中是不可变的,无论构造,还是截取,得到的总是一个新字符串。下面看一下构造一个字符串(String)的源码:private final char value[]; public St...

Java往oracle存clob类型的值时,字符长度过长怎么办?

业务场景将照片转为数字长串后,由于字符过长,java往数据库中直接存为clob字段时,oracle会报ORA-01704问题:字符串文字过长。这是因为一般对含有CLOB字段的数据操作。如果CLOB字段...

Java代码审计之SpEL表达式注入(spring的setter注入)

SpEL 表达式注入Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言、用于在运行时查询和操作对象图;语法上类似于 Unified EL,但提供了更多的特...