国产探花免费观看_亚洲丰满少妇自慰呻吟_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函數將字符串分隔轉換成數據表


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安义县| 建始县| 县级市| 岐山县| 徐汇区| 德庆县| 靖远县| 肥城市| 泸溪县| 达孜县| 安岳县| 宜章县| 南阳市| 抚宁县| 策勒县| 黄梅县| 黑山县| 武汉市| 子洲县| 光山县| 酒泉市| 杭锦后旗| 京山县| 连平县| 浦县| 乡城县| 会泽县| 隆德县| 双流县| 珠海市| 澄城县| 九寨沟县| 南开区| 天峻县| 嵊州市| 庆元县| 长岛县| 宾阳县| 靖安县| 崇阳县| 桦南县|