数据库截取字符串SUBSTR函数的使用

简介: 背景 今天中午做需求的时候,有类似于根据银行卡卡号的前几位判断出是哪个银行的情况,每个银行需要截取的位数都不一样,这时我就想到了SUBSTR 数据库截取字符串SUBSTR函数的使用 假设有一个表的结构如下(表名tlk_bnkld_card) 写sql语句的时候就能看到有很多的substr函数的提示,各人根据需求选用。

背景

今天中午做需求的时候,有类似于根据银行卡卡号的前几位判断出是哪个银行的情况,每个银行需要截取的位数都不一样,这时我就想到了SUBSTR

数据库截取字符串SUBSTR函数的使用

假设有一个表的结构如下(表名tlk_bnkld_card)

写sql语句的时候就能看到有很多的substr函数的提示,各人根据需求选用。

其中的 str表示被截取的字段

    pos表示开始的下标

    len表示截取的长度

 

 

SUBSTR(str FROM pos FOR len)的使用:

1 SELECT SUBSTR(idtf_value FROM 1 FOR 2) idtfValue
2 FROM tlk_bnkld_card
3 WHERE 1=1

 截取字段idtf_value ,从第一位开始截取,截取两位

执行结果

SUBSTR(str FROM pos) 的使用

1 SELECT SUBSTR(idtf_value  FROM 2) idtfValue
2 FROM tlk_bnkld_card
3 WHERE 1=1

截取字段idtf_value ,从第二位截取到结束

执行结果:

  

SUBSTRING与SUBSTR区别不大,输出结果一致;

1 SUBSTR(str,pos)
2 SUBSTR(str,pos,len)
3 SUBSTRING(str FROM pos FOR len)
4 SUBSTRING(str FROM pos)
5 SUBSTRING(str,pos)
6 SUBSTRING(str,pos,len)

这几个函数的用法和上面的两种类似,参见上述;

SUBSTRING_INDEX(str,delim,count)函数的用法

用法规则:

SUBSTRING_INDEX(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)

例如:

1 SELECT SUBSTRING_INDEX(idtf_value,'4',2) idtfValue
2 FROM tlk_bnkld_card
3 WHERE idtf_value='392454'

将字符串用"4"分割开,截取从开始到第二个“4”之前的字符串输出

执行结果

 

 注意:

  假如有负号像这样

1 SELECT SUBSTRING_INDEX(idtf_value,'4',-2) idtfValue
2 FROM tlk_bnkld_card
3 WHERE idtf_value='392454'

截取时就说从后往前截取,截取到从后面数的第二个之前

执行结果

 

版权声明:本文为博主原创文章,欢迎大家分享,支持,打赏。 转载请在博客开头或者结尾标注转载地址:https://www.cnblogs.com/clwydjgs/p/9324255.html

小舟从此逝,江海寄余生。 --狐狸
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
176 0
|
2月前
|
开发框架 .NET 关系型数据库
【Azure 应用服务】App Service 通过门户配置数据库连接字符串不生效 
【Azure 应用服务】App Service 通过门户配置数据库连接字符串不生效 
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
4月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL数据库的字符串拼接语法使用说明
【6月更文挑战第11天】PostgreSQL数据库的字符串拼接语法使用说明
408 1
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
42 5
|
4月前
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
38 2
|
4月前
|
存储 传感器 时序数据库
时序数据库influx有字符串拼接函数吗
【6月更文挑战第25天】时序数据库influx有字符串拼接函数吗
57 0
|
4月前
|
SQL 分布式计算 MaxCompute
MaxCompute操作报错合集之通过UDF(用户定义函数)请求外部数据库资源并遇到报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
177 0
|
4月前
|
存储 SQL 关系型数据库
MySQL数据库——存储函数(介绍、案例)
MySQL数据库——存储函数(介绍、案例)
107 0
|
4月前
|
SQL 存储 关系型数据库
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)二
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)二
42 0