国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server實現Split函數將字符串分隔轉換成數據表

2024-08-31 00:54:56
字體:
來源:轉載
供稿:網友
SQL Server實現Split函數將字符串分隔轉換成數據表需求

C#語言中有內置的字符串函數Split()可以輕松實現分隔將類似 1,2,3,4 的字符串變成數組,然后進行處理,但是SQL Server默認沒有這種內置的支持。

實現

需要通過自定義函數來實現,思路就是創建表值函數,返回一個分隔后的數據表,然后查詢這個返回的表即可。

代碼如下
SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER FUNCTION [dbo].[SplitToTable_Func]

(

@SplitString varchar(max),

@Separator nvarchar(10)=' '

)

RETURNS @SplitStringsTable TABLE

(

[id] int identity(1,1),

[value] varchar(max)

)

AS

BEGIN

IF @SplitString<>''

BEGIN

DECLARE @CurrentIndex int

DECLARE @NextIndex int

DECLARE @ReturnText varchar(max)

SELECT @CurrentIndex=1

WHILE(@CurrentIndex<=len(@SplitString)+1)

BEGIN

SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex)

IF(@NextIndex=0 OR @NextIndex IS NULL)

SELECT @NextIndex=len(@SplitString)+1

SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex)

INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText)

SELECT @CurrentIndex=@NextIndex+1

END

END

RETURN

END

調用方法

SELECT * FROM dbo.SplitToTable_Func('1,2,3,4',',')

效果

QQ截圖20150119143539

本文來自筆者博客,原文地址:SQL Server實現Split函數將字符串分隔轉換成數據表


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会宁县| 兴城市| 巢湖市| 临沧市| 东乡族自治县| 廉江市| 玉山县| 万山特区| 和平区| 得荣县| 攀枝花市| 迭部县| 汉中市| 大邑县| 万山特区| 眉山市| 万安县| 德兴市| 克拉玛依市| 常山县| 洛川县| 富蕴县| 荥阳市| 甘孜县| 台山市| 上栗县| 吴桥县| 禹城市| 拜城县| 定远县| 洛宁县| 康定县| 乡城县| 永顺县| 叙永县| 宣化县| 秭归县| 许昌县| 永宁县| 锡林郭勒盟| 沅江市|