我有一个带字符串字段的表,其中可以是一个数字或多个数字(用逗号分隔)。我需要找到值(转换为整数时)和未指定值之间的差异。为简单起见,我只想说要比较的值是静态值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或类似的东西,也可以自由回答。
答案 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