当前位置: 首页 > 面试题库 >

如何在SQL中加逗号分隔的字符串?[复制]

温亮
2023-03-14
问题内容

这个问题已经在这里有了答案

在MySQL 4中汇总逗号分隔的列(不是5) (4个答案)

7年前关闭。

id  value
1   1,2,3,4
2   2,3,4

所以我想得到这个结果:

id   sum
1     10
2     9

我可以在SQL(MySQL)中做到吗?


问题答案:

您可以更动态地创建函数。请按照以下步骤

  1. 创建一个给出逗号分隔值之和的函数

    CREATE FUNCTION GetToalOfCommaSeperatedVal
    

    (
    @commaSeperatedVal varchar(100)
    )
    RETURNS int
    AS
    BEGIN


    declare @sum int
    DECLARE @x XML 
    SELECT @x = CAST('<A>'+ REPLACE(@commaSeperatedVal,',','</A><A>')+ '</A>' AS XML)
    
    SELECT @sum=sum(t.value('.', 'int')) 
      FROM @x.nodes('/A') AS x(t)
    

    return @sum
    END
    GO

  2. 以以下方式执行“仅选择”命令

    select id,dbo.GetToalOfCommaSeperatedVal(value) from YOUR_TABLE
    


 类似资料:
  • 问题内容: 我已经尝试过一些试验,但还不能解决。任何帮助,将不胜感激。 我有一个像下面的表。 我正在寻找的结果是。它会删除所有重复项,并仅保留具有其关联ID的不同值。 我试图用(len(replace(@ProjectNames,’,’))来计算逗号的数量 使用http://www.logiclabz.com/sql-server/split-function-in-sql-server-to-b

  • 问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样

  • 问题内容: 我有从.net应用程序A,B,C,D,E,F获取的字符串, 我想写一个SQL选择语句像 这在t-SQL中将不起作用,因为它使用不将值分开的一个字符串。有什么办法可以做到这一点? 问题答案: 它认为最简单的方法是动态SQL生成:

  • 在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如:

  • 问题内容: 我有一个长度未知的字符串,看起来像这样 将这些字符串用逗号分隔的最佳方法是什么,以便每个单词都可以成为的元素? 例如 问题答案: 你可以这样做: 基本上,该方法将根据你正在传递的(在这种情况下)定界符来分割字符串,并将返回字符串数组。 但是,你似乎位于字符串列表而不是数组之后,因此必须使用该实用程序将数组转换为列表。就像供你参考一样,你也可以这样做: 但是通常最好是对接口进行编程,而不

  • 本文向大家介绍SQL server中字符串逗号分隔函数分享,包括了SQL server中字符串逗号分隔函数分享的使用技巧和注意事项,需要的朋友参考一下 继SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数(数据大时不建议这样做) 例:查找姓名为“张三,李二” 的数据此时在数据库里就要对此参数做处理如图: 函数代码如下 好了,关于sql字符