SQL中的字符串截取函数

简介: SQL中的字符串截取函数
字符串截取函数,也是我们在数据开发分析的过程中比较常用的函数,比较常用的函数,有四个 left()、right()、substr()、substring_index() 函数。

一、left()函数

含义:返回从字符串左边开始指定个数的字符
语法格式:left(column,n)
释义:从字段column的字符串内容的左面开始截取,总共截取 n 的位置。
示例语句:SELECT office_name,LEFT(office_name,2) FROM database.table
结果展示:
在这里插入图片描述

二、right()函数

含义:返回从字符串右边开始指定个数的字符
语法格式:right(column,n)
释义:从字段column的字符串内容的右面开始截取,总共截取 n 的位置
示例语句:SELECT office_name,right(office_name,1) FROM database.table
结果展示:
在这里插入图片描述

三、substr()函数

substr()函数是我们在做字符串截取的时候,用的相对比较对的一个函数,因为它比较灵活,参数比较丰富,可以实现相对复杂一点的字符串截取需求。
格式:substr( expression , start , length )
释义:
(1)expression:需要被截取的字符串,可以是字符串、二进制字符串、text、image、列或包含列的表达式。
(2)start :开始截取的位置。
(3)length :需要截取的长度,(这个参数可以省略,如果没有指定截取长度,默认截取后面的所有字符)。

1,从指定位置开始截取到字符串结束

表达式:substr(column,2)
释义:从column的第二位开始截取,到字符串结束
示例语句:SELECT office_name,SUBSTR(office_name,2) FROM database.table ;
结果展示:
在这里插入图片描述

2,从指定位置截取,并指定截取位数

表达式:substr(column,2,1)
释义:从column的第二位开始截取,截取一位
示例语句:SELECT office_name,SUBSTR(office_name,2,1) FROM database.table ;
结果展示:
在这里插入图片描述

3,从字符串末尾第一位开始截取

表达式:substr(column,-1)
释义:从字符串末尾第一位开始截取,省略第三个函数,表示截取整个字符串
示例语句:SELECT office_name,SUBSTR(office_name,-1) FROM database.table
结果展示:
在这里插入图片描述

4,从字符串倒数几位开始截取,指定个数的字符

表达式:substr(column,-2,1)
释义:从column倒数第二位开始截取,截取一位
示例语句:SELECT office_name,SUBSTR(office_name,-2,1) FROM database.table
结果展示:
在这里插入图片描述

四、substring_index() 函数

1,指定字符在字符串中从前往后数出现次数位置,截取该位置之前的所有字符

表达式:substring_index(column,str,count)
释义:截取字符串column,str出现从前往后数第count次,之前的所有字符
示例语句:SELECT substring_index('www.baidu.com','.',2)
结果展示:
在这里插入图片描述

2,指定字符在字符串中从后往前数出现次数位置,截取该位置之后的所有字符

表达式:substring_index(column,str,-count)
释义:截取字符串column,str出现从后往前数第count次,之后的所有字符
示例语句:SELECT substring_index('www.baidu.com','.',-2)
结果展示:
在这里插入图片描述

3,指定字符在字符串不存在

表达式:substring_index(column,str,count)
示例语句:SELECT substring_index('www.baidu.com','Goole',2)
结果展示:
在这里插入图片描述
以上就是我在工作中常用的,分享出来,希望可以和大家一起交流~~

相关文章
|
6月前
|
SQL Java 数据库连接
MyBatis动态SQL字符串空值判断,这个细节99%的程序员都踩过坑!
本文深入探讨了MyBatis动态SQL中字符串参数判空的常见问题。通过具体案例分析,对比了`name != null and name != ''`与`name != null and name != ' '`两种写法的差异,指出后者可能引发逻辑混乱。为避免此类问题,建议在后端对参数进行预处理(如trim去空格),简化MyBatis判断逻辑,提升代码健壮性与可维护性。细节决定成败,严谨处理参数判空是写出高质量代码的关键。
724 0
|
2月前
|
SQL 人工智能 数据挖掘
如何在`score`表中正确使用`COUNT`和`AVG`函数?SQL聚合函数COUNT与AVG使用指南
本文三桥君通过score表实例解析SQL聚合函数COUNT和AVG的常见用法。详解COUNT(studentNo)、COUNT(score)、COUNT()的区别,以及AVG函数对数值/字符型字段的不同处理,特别指出AVG()是无效语法。实战部分提供6个典型查询案例及结果,包含创建表、插入数据的完整SQL代码。产品专家三桥君强调正确理解函数特性(如空值处理、字段类型限制)对数据分析的重要性,帮助开发者避免常见误区,提升查询效率。
149 0
|
12月前
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
170 3
|
12月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
12月前
|
SQL 数据库 索引
SQL中COUNT函数结合条件使用的技巧与方法
在SQL查询中,COUNT函数是一个非常常用的聚合函数,用于计算表中满足特定条件的记录数
2095 5
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
12月前
|
SQL 关系型数据库 MySQL
SQL日期函数
SQL日期函数
192 0
|
12月前
|
SQL Oracle 关系型数据库
SQL语句中的引号使用技巧:正确处理字符串与标识符
在编写SQL语句时,引号的使用是一个基础且重要的环节
1540 0
|
SQL 关系型数据库 MySQL
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
613 0
|
SQL 数据处理 数据库

热门文章

最新文章