表MSSQL字符串变换之路:从字符串到列表(mssql字符串转列)
MSSQL字符串变换是数据库开发中会普遍遇到的问题,用MSSQL代码进行变换和操作,可以极大地提高编程效率和准确性。例如,我们可以通过MSSQL代码把字符串变成列表。
要实现MSSQL字符串变换成列表,可以采用以下代码来实现:
DECLARE @String varchar(8000)
SET @String = ‘A,B,C,D’
SELECT * FROM [dbo].[SplitString](@String, ‘,’)
GO
其中,SplitString函数是一种可以把一个字符串转换成列表的函数,函数实现代码如下:
CREATE FUNCTION [dbo].[SplitString](@String NVARCHAR(4000), @Delimiter NCHAR(1))
RETURNS @temptable TABLE
(
–返回值
[Name] NVARCHAR(4000)
)
AS
BEGIN
DECLARE @idx INT
DECLARE @slice NVARCHAR(4000)
SELECT @idx = 1
WHILE @idx != 0
BEGIN
SELECT @idx = CHARINDEX(@Delimiter ,@String)
IF @idx != 0
SELECT @slice = LEFT(@String , @idx – 1)
ELSE
SELECT @slice = @String
IF(LEN(@slice)>0)
INSERT INTO @temptable([Name])
VALUES(@slice)
SELECT @String = RIGHT(@String , LEN(@String) – @idx)
END
RETURN
END
运行以上代码后,可以得到的结果是列表的形式:
A
B
C
D
以上,就是MSSQL字符串变换之路:从字符串到列表的方法,使用MSSQL函数可以把字符串上,变成列表形式,从而降低代码的复杂度,提高效率。