-4
如何將字符串拆分爲多行,但不使用輸入表,只是一個字符串?將字符串拆分爲多行
實施例中,字符串爲 'ABC,GRT,ASD,EEE,78S'
輸出應該是這樣的:
ABC
GRT
ASD
eee
78s
我在這裏看到很多解決方案,但都使用一個表格存儲一個或多個輸入字符串。
如何在不使用表格的情況下實現此目的?
謝謝
如何將字符串拆分爲多行,但不使用輸入表,只是一個字符串?將字符串拆分爲多行
實施例中,字符串爲 'ABC,GRT,ASD,EEE,78S'
輸出應該是這樣的:
ABC
GRT
ASD
eee
78s
我在這裏看到很多解決方案,但都使用一個表格存儲一個或多個輸入字符串。
如何在不使用表格的情況下實現此目的?
謝謝
創建以下功能。
CREATE FUNCTION SplitString
(
@Input NVARCHAR(MAX),
@Character CHAR(1)
)
RETURNS @Output TABLE (
Item NVARCHAR(1000)
)
AS
BEGIN
DECLARE @StartIndex INT, @EndIndex INT
SET @StartIndex = 1
IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
BEGIN
SET @Input = @Input + @Character
END
WHILE CHARINDEX(@Character, @Input) > 0
BEGIN
SET @EndIndex = CHARINDEX(@Character, @Input)
INSERT INTO @Output(Item)
SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
END
RETURN
END
GO
使用下面的查詢你可以拆分你的字符串。
SELECT Item
FROM dbo.SplitString('abc,grt,asd,888,78s', ',')
這聽起來像你掙扎,因爲你的數據還沒有正確規範化。 – Phylogenesis
這是什麼類型和版本的數據庫? – LukStorms