Mysql字符串截取总结:left()、right()、substring()、substring_index()

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

一.从开始截取字符串

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

SELECT LEFT('www.yuanrengu.com',8)

结果为:www.yuan

二.从开始截取字符串

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

SELECT RIGHT('www.yuanrengu.com',6)

结果为:gu.com

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

用法:

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

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

SELECT SUBSTRING('www.yuanrengu.com', 9)

结果为:rengu.com

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

SELECT SUBSTRING('www.yuanrengu.com', 9, 3)

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

SELECT SUBSTRING('www.yuanrengu.com', -6)

结果为:gu.com

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

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

结果为:gu

四.按关键字进行读取

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

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

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

结果为:www.yuanrengu

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

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

结果为:yuanrengu.com

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

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

结果为:www.yuanrengu.com

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

oracle 中关于null的操作

空值     空值一般用NULL表示     一般表示未知的、不确定的值,也不是空格     一般运算符与其进行运算时,都会为空     空不与任何值相等   ...

1818
来自专栏峰会SaaS大佬云集

Oracle 数据库入门之----------------------单行函数

SQL> select lower('Hello World') 转小写,upper('Hello World') 转大写,initcap('hello wor...

610
来自专栏IT杂记

Mapreduce程序中reduce的Iterable参数迭代出是同一个对象

今天在对reduce的参数Iterable进行迭代时,发现一个问题,即Iterator的next()方法每次返回的是同一个对象,next()只是修改了Writa...

1935
来自专栏Python

SQLAlchemy中的自引用

SQLALCHEMY采用adjacency list pattern来表示类的自引用。 例如,对于类Node自引用: class Node(Base): ...

3735
来自专栏黑白安全

Mysql索引类型Btree和Hash的区别以及使用场景

遇到单表数据量大的时候很多开发者都会想到给相对的字段建立索引来提高性能(mysql索引的使用),但很少会去关注索引的类型该如何选择,在mysql中支持有两种类型...

1853
来自专栏Laoqi's Linux运维专列

SQLAlchemy总结+

2733
来自专栏GreenLeaves

关于null的操作

空值     空值一般用NULL表示     一般表示未知的、不确定的值,也不是空格     一般运算符与其进行运算时,都会为空     空不与任何值相等   ...

1907
来自专栏along的开发之旅

C#中的正则表达式表达'.'和'\'

如果要表达字符串中的'.',在正则表达式中表达为"\.",因为'.'在正则表达式中是元字符,需要'\'进行转义,那么在C#中就是"\\.",第一个'\'是C#用...

851
来自专栏猿人谷

Mysql字符串截取总结:left()、right()、substring()、substring_index()

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

2165
来自专栏码云1024

mysql 数据类型

3484

扫码关注云+社区