SqlServer中使用charindex和substring函数拆分字段
SqlServer中先看看这2个函数的作用:
charindex(str1,str,[start]):函数返回子字符串str1在字符串str中的开始位置数值,如果添加了start参数,说明从start值往后查找到第1个位置数值返回;
例:select CHARINDEX('-','A2104010065-000004') 返回值是:12(代表 “- ”所在位置)
substring(str,para1,para2):函数返回字符串str从para1位置开始往后查找长度为para2的子字符串;
例:select substring('A2104010065-000004',1,11) 返回值:A2104010065
在使用举例前要说明,实际业务中字符串长度是不确定的,因此不能当用substring来满足要求;
另外在2019及更高版本中系统已定义了SUBSTRING_INDEX函数,可以直接用来拆分需求。
应用背景:
业务单据中有单据号,不知道有多尔个【-】符号拼接在字段中;但我只需第1个符号前的单据号
字符串。
declare @fnumber varchar(50)
set @fnumber = 'A2104010065-000004-00001-0002'
select case when charindex('-',@fnumber)>0 then substring(@fnumber,1,CHARINDEX('-',@fnumber)-1) else @fnumber END as FNUMBER
SqlServer中使用charindex和substring函数拆分字段相关推荐
- sqlserver中实现split分割字符串函数
常用的. IF OBJECT_ID (N'fn_split') IS NOT NULL DROP FUNCTION fn_split go CREATE function dbo.fn_split ...
- SqlServer中计算实际年龄的方法
Excel中有个计算日期差的函数datedif,SqlServer中也有一个类似函数datediff,但是两个函数的计算逻辑是不一致的: Excel中的datedif函数,计算精度到日,不足日的月份差 ...
- sqlserver数据库,使用substring函数截取不固定位置字符串。
sqlserver数据库,使用substring函数截取不固定位置字符串. 当我们在向页面写入数据库查询出来的数据的时候,有一些不必要的字符串,相信大家肯定会在后台的java代码中进行处理再返回到页面 ...
- sqlserver中的表值函数和标量值函数
顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型,表是单个 SELECT 语句的结果集. 以下示例: CREATE FUNCTION ...
- R语言应用substr函数和substring函数抽取(extract)、删除(Remove)、替换、匹配(Match)特定的字符串、并对比两个函数的异同、grepl检查子字符串是否存在于字符串中
R语言应用substr函数和substring函数抽取(extract).删除(Remove).替换(Replace).匹配(Match)特定的字符串.并对比substr函数和substring函数在 ...
- mysql charindex_mysql中替代charindex的函数substring_index、find_in_set | 学步园
表结构如下: mysql> select * from test; +----+-------+ | id | name | +----+-------+ | 1 | test1 | | 2 | ...
- SQLSERVER中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数
SQLSERVER中的ALL.PERCENT.CUBE关键字.ROLLUP关键字和GROUPING函数 先来创建一个测试表 1 USE [tempdb] 2 GO 3 4 CREATE TABLE # ...
- java字符串剪切函数,java用substring函数截取string中一段字符串,substringstring
java用substring函数截取string中一段字符串,substringstring from http://www.cnblogs.com/laiweili/archive/2012/11 ...
- SQLSERVER中的 CEILING函数和 FLOOR函数
SQLSERVER中的 CEILING函数和 FLOOR函数 --SQLSERVER中的 CEILING函数和 FLOOR函数--ceiling函数返回大于或等于所给数字表达式的最小整数.--floo ...
最新文章
- 在活动目录中,转移和占用操作主机角色(占用)
- 一种新方法或让AI模型拥有“联想”力,或能识别从未见过的事物
- AI每日精选:AI可追踪人体血糖水平;中国或成为首个AI超级大国
- 沉浸式模式与沉浸式状态栏
- [C#] 接收和发送UDP数据
- Java Date的after和before方法解释
- 小米再添猛将!原中兴手机CEO曾学忠加盟
- [2019上海网络赛F题]Rhyme scheme
- 学计算机要学工图吗,工程图学及计算机绘图: 非机类
- 台式计算机把光驱改成硬盘,台式机光驱位怎么安装硬盘
- 微信小程序地址自动识别
- What Is 'FTW'? What Does It Mean?
- PiscisOS开发笔记_1_PiscisOS的诞生和系统特性简介
- 软件项目管理三国启示录01 群雄争霸之项目经理的自我修养
- 微信平台发布谣言整治报告:近半年处罚公众号约4.5万个
- Python生成动态二维码,运用神库:qrcode
- 学习OSPF,有这一篇就够了
- 用pygame写了个俄罗斯方块
- 怎样在苹果Mac上显示或隐藏“节假日”日历?
- 足球人生:青春不过几届世界杯