sqlserver中字符串根据某个字符进行截取

**字符串:**11-22-333-4444-55-666

**截取后的内容:**11、22、333、4444、55、666

注:可自定义一张临时表用于存放截取的内容

sql 复制代码
DECLARE @str NVARCHAR(50)='11-22-333-4444-55-666'  --字符串
DECLARE @custr NVARCHAR(5)='-'   --截取字符
DECLARE @length INT=LEN(@str)    --总长度
DECLARE @count INT=(@length - LEN(REPLACE(@str, @custr, ''))) / LEN(@custr) --截取字符总个数
DECLARE @i INT=0
DECLARE @j INT=0
DECLARE @e INT=0
DECLARE @newstr NVARCHAR(MAX)=''  --新字符串
DECLARE @restr NVARCHAR(max)=''   --返回字符


WHILE(@i<=@count)
BEGIN 
	--截取字符串
	SET @newstr=RIGHT(@str,@length-@j)

	SET @e=CHARINDEX(@custr,@newstr)

	IF @e>0
	SET @restr=SUBSTRING(@newstr,0,@e)
	ELSE 
	SET @restr=SUBSTRING(@newstr,0,LEN(@newstr))

	SELECT @restr

	SET @j=@j+LEN(@restr)+1

	SET @i=@i+1
END 
相关推荐
Favor_Yang21 小时前
SQL Server通过存储过程调用DLL程序集发送飞书卡片消息
sqlserver·飞书·存储过程
Favor_Yang1 天前
SQL Server通过存储过程实现HTML页面生成
前端·信息可视化·sqlserver·存储过程
贾修行4 天前
SQL Server 空间函数从入门到精通:原理、实战与多数据库性能对比
数据库·sqlserver
合作小小程序员小小店5 天前
web网页开发,在线%ctf管理%系统,基于html,css,webform,asp.net mvc, sqlserver, mysql
mysql·sqlserver·性能优化·asp.net·mvc
满昕欢喜5 天前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Edingbrugh.南空7 天前
Flink SQLServer CDC 环境配置与验证
数据库·sqlserver·flink
big狼王1 个月前
sqlserver存储过程中入参使用JSON
数据库·sqlserver·json
麦兜*1 个月前
【Mysql及各种关系型数据库全面对比与深度解析(2025版)】
数据库·sql·mysql·postgresql·oracle·sqlserver·mariadb
我最厉害。,。1 个月前
Windows权限提升篇&数据库篇&MYSQL&MSSQL&ORACLE&自动化项目
数据库·mysql·sqlserver
qq_297908011 个月前
C#报价系统陈列展示成本核算系统项目管理系统纸品非纸品报价软件
sqlserver·c#·.net·开源软件