首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sql拆分SQL SERVER 2019中带逗号的列

在SQL Server 2019中,如果需要拆分带有逗号的列,可以使用字符串函数和表值函数来实现。

一种常见的方法是使用STRING_SPLIT函数,它可以将包含逗号分隔值的字符串拆分成多个行。例如,假设有一个名为"column_name"的列包含逗号分隔的值,可以使用以下查询来拆分该列:

代码语言:txt
复制
SELECT value
FROM STRING_SPLIT(column_name, ',')

这将返回一个包含拆分后值的结果集。

另一种方法是使用自定义的表值函数来拆分列。可以创建一个函数,接受包含逗号分隔值的字符串作为输入,并返回一个表,其中每一行包含一个拆分后的值。以下是一个示例函数的代码:

代码语言:txt
复制
CREATE FUNCTION dbo.SplitString
(
    @inputString NVARCHAR(MAX),
    @delimiter NVARCHAR(10)
)
RETURNS @outputTable TABLE (splitValue NVARCHAR(MAX))
AS
BEGIN
    DECLARE @value NVARCHAR(MAX)
    WHILE CHARINDEX(@delimiter, @inputString) > 0
    BEGIN
        SET @value = SUBSTRING(@inputString, 1, CHARINDEX(@delimiter, @inputString) - 1)
        INSERT INTO @outputTable (splitValue) VALUES (@value)
        SET @inputString = SUBSTRING(@inputString, CHARINDEX(@delimiter, @inputString) + LEN(@delimiter), LEN(@inputString))
    END
    INSERT INTO @outputTable (splitValue) VALUES (@inputString)
    RETURN
END

使用该函数可以执行以下查询来拆分列:

代码语言:txt
复制
SELECT splitValue
FROM dbo.SplitString(column_name, ',')

这将返回一个包含拆分后值的结果集。

对于SQL Server 2019,腾讯云提供了云数据库SQL Server(CDB for SQL Server)产品,它是一种高性能、高可用、可扩展的关系型数据库解决方案。您可以通过以下链接了解更多关于腾讯云数据库SQL Server的信息:腾讯云数据库SQL Server产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一场pandas与SQL的巅峰大战(二)

上一篇文章一场pandas与SQL的巅峰大战中,我们对比了pandas与SQL常见的一些操作,我们的例子虽然是以MySQL为基础的,但换作其他的数据库软件,也一样适用。工作中除了MySQL,也经常会使用Hive SQL,相比之下,后者有更为强大和丰富的函数。本文将延续上一篇文章的风格和思路,继续对比Pandas与SQL,一方面是对上文的补充,另一方面也继续深入学习一下两种工具。方便起见,本文采用hive环境运行SQL,使用jupyter lab运行pandas。关于hive的安装和配置,我在之前的文章MacOS 下hive的安装与配置提到过,不过仅限于mac版本,供参考,如果你觉得比较困难,可以考虑使用postgreSQL,它比MySQL支持更多的函数(不过代码可能需要进行一定的改动)。而jupyter lab和jupyter notebook功能相同,界面相似,完全可以用notebook代替,我在Jupyter notebook使用技巧大全一文的最后有提到过二者的差别,感兴趣可以点击蓝字阅读。希望本文可以帮助各位读者在工作中进行pandas和Hive SQL的快速转换。本文涉及的部分hive 函数我在之前也有总结过,可以参考常用Hive函数的学习和总结。

02
领券