程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 實例講解實現SQL下的字符串拆分具體方法

實例講解實現SQL下的字符串拆分具體方法

編輯:關於SqlServer


因為工作的原因,開發過一個拆分字符串的SQL函數,現在把它貼出來,與大家共勉學習。

該函數如下:

CREATE function [dbo].[StringSplit](@str nvarchar(max),@spliter nvarchar(10))

returns @tb table(ch nvarchar(256))

AS

BEGIN

DECLARE @Num int,@Pos int, @NextPos int

SET @Num = 0

SET @Pos = 1

WHILE(@Pos <= LEN(@str))

BEGIN

SELECT @NextPos = CHARINDEX(@spliter, @str, @Pos)

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

SELECT @NextPos = LEN(@str) + 1

INSERT INTO @tb VALUES(RTRIM(LTRIM(SUBSTRING(@str, @Pos, @NextPos - @Pos))))

SELECT @Pos = @NextPos+1

END

return

END

使用方法:

Syntax:

StringSplit (stringToSplit nvarchar(max) , separator nvarchar(10) )ArgumentsstringToSplit 用於分割的文本separator 分隔字符Samples在存儲過程或者SQL腳本中,使用如下的方法

SELECT * FROM dbo.StringSplit(''計算機,IT,C#,SQL'','','')

得出的結果如下:

計算機

IT

C#

SQL

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved