如何从逗号分隔的字符串中减去每个数字?

时间:2014-03-19 20:36:51

标签: sql excel split subtraction delimited

我有一个带字符串字段的表,其中可以是一个数字或多个数字(用逗号分隔)。我需要找到值(转换为整数时)和未指定值之间的差异。为简单起见,我只想说要比较的值是静态值10。

示例表:

iId vchStringNumbers vchSubtractedStringNumbers 1 20, 30, 40 2 50 3 20

期望的结果:

iId vchStringNumbers vchSubtractedStringNumbers 1 20, 30, 40 10, 20, 30 2 50 40 3 20 10

有没有办法在SQL中完成此操作?如果它是excel中的eaiser或类似的东西,也可以自由回答。

2 个答案:

答案 0 :(得分:1)

如果一个人可以访问Excel 2019或Excel O365,则也可以使用(在B2中):

=TEXTJOIN(", ",,FILTERXML("<t><s>"&SUBSTITUTE(B2,",","</s><s>")&"</s></t>","//s")-10)

答案 1 :(得分:0)

CS 数据放入Excel列,选择单元格并运行此微小的 VBA 宏:

Sub SubtractCSV()
    Dim r As Range
    For Each r In Selection
        ary = Split(r.Value, ",")
        For i = LBound(ary) To UBound(ary)
            ary(i) = CLng(Trim(ary(i))) - 10
        Next i
        r.Offset(0, 1).Value = Join(ary, ",")
    Next r
End Sub