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函数拆分字段相关推荐

  1. sqlserver中实现split分割字符串函数

    常用的. IF OBJECT_ID (N'fn_split') IS NOT NULL DROP FUNCTION  fn_split go CREATE  function dbo.fn_split ...

  2. SqlServer中计算实际年龄的方法

    Excel中有个计算日期差的函数datedif,SqlServer中也有一个类似函数datediff,但是两个函数的计算逻辑是不一致的: Excel中的datedif函数,计算精度到日,不足日的月份差 ...

  3. sqlserver数据库,使用substring函数截取不固定位置字符串。

    sqlserver数据库,使用substring函数截取不固定位置字符串. 当我们在向页面写入数据库查询出来的数据的时候,有一些不必要的字符串,相信大家肯定会在后台的java代码中进行处理再返回到页面 ...

  4. sqlserver中的表值函数和标量值函数

    顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型,表是单个 SELECT 语句的结果集. 以下示例: CREATE FUNCTION ...

  5. R语言应用substr函数和substring函数抽取(extract)、删除(Remove)、替换、匹配(Match)特定的字符串、并对比两个函数的异同、grepl检查子字符串是否存在于字符串中

    R语言应用substr函数和substring函数抽取(extract).删除(Remove).替换(Replace).匹配(Match)特定的字符串.并对比substr函数和substring函数在 ...

  6. mysql charindex_mysql中替代charindex的函数substring_index、find_in_set | 学步园

    表结构如下: mysql> select * from test; +----+-------+ | id | name | +----+-------+ | 1 | test1 | | 2 | ...

  7. SQLSERVER中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数

    SQLSERVER中的ALL.PERCENT.CUBE关键字.ROLLUP关键字和GROUPING函数 先来创建一个测试表 1 USE [tempdb] 2 GO 3 4 CREATE TABLE # ...

  8. java字符串剪切函数,java用substring函数截取string中一段字符串,substringstring

    java用substring函数截取string中一段字符串,substringstring from  http://www.cnblogs.com/laiweili/archive/2012/11 ...

  9. SQLSERVER中的 CEILING函数和 FLOOR函数

    SQLSERVER中的 CEILING函数和 FLOOR函数 --SQLSERVER中的 CEILING函数和 FLOOR函数--ceiling函数返回大于或等于所给数字表达式的最小整数.--floo ...

最新文章

  1. 在活动目录中,转移和占用操作主机角色(占用)
  2. 一种新方法或让AI模型拥有“联想”力,或能识别从未见过的事物
  3. AI每日精选:AI可追踪人体血糖水平;中国或成为首个AI超级大国
  4. 沉浸式模式与沉浸式状态栏
  5. [C#] 接收和发送UDP数据
  6. Java Date的after和before方法解释
  7. 小米再添猛将!原中兴手机CEO曾学忠加盟
  8. [2019上海网络赛F题]Rhyme scheme
  9. 学计算机要学工图吗,工程图学及计算机绘图: 非机类
  10. 台式计算机把光驱改成硬盘,台式机光驱位怎么安装硬盘
  11. 微信小程序地址自动识别
  12. What Is 'FTW'? What Does It Mean?
  13. PiscisOS开发笔记_1_PiscisOS的诞生和系统特性简介
  14. 软件项目管理三国启示录01 群雄争霸之项目经理的自我修养
  15. 微信平台发布谣言整治报告:近半年处罚公众号约4.5万个
  16. Python生成动态二维码,运用神库:qrcode
  17. 学习OSPF,有这一篇就够了
  18. 用pygame写了个俄罗斯方块
  19. 怎样在苹果Mac上显示或隐藏“节假日”日历?
  20. 足球人生:青春不过几届世界杯

热门文章

  1. wps word文档复制图片显示不全,只显示一行
  2. 嵌入式开发中,嵌入式硬件和软件有什么区别?
  3. linux开机运行级别和关机命令总结
  4. visio自己画的图怎么填充_VISIO自定义图形填充
  5. 如何查询网站服务器类型
  6. 计算机组成原理笔记[哈工大]
  7. 数据集市是什么?数据集市和数据仓库有什么区别
  8. 布施持戒忍辱精进禅定般若——净空法师【转】
  9. SEO优化怎么提升网站排名
  10. java组成_java是由什么组成的?