SQL Server字符串切割函数

2023年 4月 18日 36.3k 0

复制代码 代码如下: CREATE FUNCTION fGetStrBySplit ( @Source VARCHAR(max), @Index INT, @SplitChar VARCHAR(1) ) RETURNS varchar(MAX) AS BEGIN DECLARE @Len INT DECLARE @n INT = 0 DECLARE @ChIndex INT DECLARE @Result VARCHAR(MAX) --获取

复制代码 代码如下: CREATE FUNCTION fGetStrBySplit ( @Source VARCHAR(max), @Index INT, @SplitChar VARCHAR(1) ) RETURNS varchar(MAX) AS BEGIN DECLARE @Len INT DECLARE @n INT = 0 DECLARE @ChIndex INT DECLARE @Result VARCHAR(MAX) --获取总长度 SET @Len = LEN(@Source) --获取切割字符位置 SET @ChIndex = CHARINDEX(@SplitChar,@Source) WHILE @ChIndex > 0 BEGIN IF(@n = @Index) BEGIN SET @Source = SUBSTRING(@Source,0,@ChIndex) BREAK END SET @Source = SUBSTRING(@Source,@ChIndex+1,@Len) SET @ChIndex = CHARINDEX(@SplitChar,@Source) SET @Len = LEN(@Source) SET @n = @n + 1 END RETURN @Source END GO --调用 DECLARE @value VARCHAR(max) SET @value = dbo.fGetStrBySplit('645002*01_45854_183677_12',0,'_') PRINT @value 结果: 645002*01 --1 45854 --2 183677

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论