Friday , 22 November 2024
HOT

Hàm Split trong MSSQL server

Trong SQL không có hàm Split nhưng ta cũng có thể xây dựng hàm này để áp dụng, Kết quả trả về của hàm này là một bảng


CREATE FUNCTION [dbo].[fnSplit](
	@strInput NVARCHAR(4000),
	@char char(1)) 
RETURNS @Tbl TABLE (id int IDENTITY(1,1),part NVARCHAR(1000))
AS
BEGIN
	DECLARE @SubStr NVARCHAR(100), @i INT

	SET @i = CHARINDEX(@char, @strInput, 0)
	WHILE @i > 0
	BEGIN
		SET @SubStr = LEFT(@strInput,@i-1)
		INSERT INTO @Tbl
		SELECT @SubStr
		SET @strInput = SUBSTRING(@strInput, @i+1,4000)
		SET @i = CHARINDEX(@char, @strInput, 0)
	END	
	INSERT INTO @Tbl
	SELECT LTRIM(RTRIM(@strInput))
	RETURN
END

Nguồn: h m c l i p . n e t

Leave a Reply

Your email address will not be published. Required fields are marked *

*