使用多个定界符解析sql字符串以获取整数值

西拉伯霍恩

我在SO上找到了一些相关示例,但没有一个专门针对此案例的示例。开始:

我需要使用SQL解析从管道分隔的平面文件中获取的数据。字段之一的子格式如下。我的最终状态是对字段中的整数求和,但是这里的问题是查看使用SQL SELECT解析/提取整数的方法。子格式的模式将始终是所需的整数,在其前面将出现一个代字号(〜),然后是一个星号(*)。子字段的数量也可能有所不同(我的示例为5,但可能更多或更少)。4个字符的TAG名称并不重要。

因此,这是一个示例:

|GADS~55.0*BILK~0.0*BOBB~81.0*HETT~32.0*IGGR~51.0|

从这个例子中,我想要处理的是最终数字219。同样,我可以继续求和部分,这是下一步。只是对获得数字感兴趣。

我知道如何使用UNIX工具(即AWK,sed等)轻松解决此问题,但在SQL中却不行。任何建议都会有所帮助!谢谢!

Shnugo

这将返回219:

  • 在Cut1中,我让字符串以第一个数字开头。
  • 在Cut2中,我剪切了最后一个管道并添加了一个星号
  • 在Splitted中,我将〜替换为XML标记,从而使拆分字符串变得容易
  • 在最终选择中,将对纯数字求和...

现在的代码

 DECLARE @str VARCHAR(100) = '|GADS~55.0*BILK~0.0*BOBB~81.0*HETT~32.0*IGGR~51.0|';

 WITH Cut1 AS
(
    SELECT SUBSTRING(@str,CHARINDEX('~',@str,1)+1,1000) AS c1
)
,Cut2 AS
(
    SELECT SUBSTRING(Cut1.c1,1,LEN(Cut1.c1)-1) + '*' AS c2 FROM Cut1
)
,Splitted AS
(
    SELECT CAST('<x>' + REPLACE(Cut2.c2,'~','</x><x>') + '</x>' AS XML) AS AsXML FROM Cut2
)
SELECT SUM(CAST(SUBSTRING(numbers.value('.','varchar(100)'),1,CHARINDEX('*',numbers.value('.','varchar(100)'),1)-1) AS FLOAT))
FROM Splitted
CROSS APPLY AsXML.nodes('/x') AS the(numbers)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用字符串定界符解析整数

来自分类Dev

解析带有多个定界符的字符串

来自分类Dev

在C ++中使用多个定界符(包括定界符)分割字符串

来自分类Dev

使用保存定界符将字符串按多个定界符进行拆分

来自分类Dev

使用多个嵌套定界符分割字符串

来自分类Dev

使用多个定界符分割字符串

来自分类Dev

如何使用多个定界符分割字符串

来自分类Dev

使用多个定界符分割python字符串

来自分类Dev

使用SQL获取字符串中的定界符之间的值

来自分类Dev

使用SQL获取字符串中的定界符之间的值

来自分类Dev

使用多个定界符分割字符串,并保留一些定界符,但不是全部

来自分类Dev

似乎没有定界符的字符串解析

来自分类Dev

解析字符串时忽略后续定界符

来自分类Dev

Java:基于定界符解析字符串

来自分类Dev

用多个定界符分割字符串,忽略重复的定界符

来自分类Dev

用多个定界符分割字符串,并忽略引号中的定界符javascript

来自分类Dev

分解字符串,然后解析定界符以获取变量

来自分类Dev

根据多个定界符分割字符串

来自分类Dev

在多个定界符上分割字符串

来自分类Dev

在定界符后到行尾获取字符串

来自分类Dev

获取定界符之间的相对大小的字符串

来自分类Dev

如何使用定界符分割字符串并将其转换为整数

来自分类Dev

Python使用定界符拆分整数和字符串(混合)列表?

来自分类Dev

使用多字符定界符分割字符串

来自分类Dev

使用awk或sed命令使用多个定界符剪切字符串

来自分类Dev

使用默认定界符与用户定义定界符进行字符串拆分

来自分类Dev

使用各种定界符分割字符串,同时保留定界符

来自分类Dev

从SQL字符串拆分Multipile定界符

来自分类Dev

在Oracle SQL中从字符串定界符中以“,”获取数字

Related 相关文章

  1. 1

    使用字符串定界符解析整数

  2. 2

    解析带有多个定界符的字符串

  3. 3

    在C ++中使用多个定界符(包括定界符)分割字符串

  4. 4

    使用保存定界符将字符串按多个定界符进行拆分

  5. 5

    使用多个嵌套定界符分割字符串

  6. 6

    使用多个定界符分割字符串

  7. 7

    如何使用多个定界符分割字符串

  8. 8

    使用多个定界符分割python字符串

  9. 9

    使用SQL获取字符串中的定界符之间的值

  10. 10

    使用SQL获取字符串中的定界符之间的值

  11. 11

    使用多个定界符分割字符串,并保留一些定界符,但不是全部

  12. 12

    似乎没有定界符的字符串解析

  13. 13

    解析字符串时忽略后续定界符

  14. 14

    Java:基于定界符解析字符串

  15. 15

    用多个定界符分割字符串,忽略重复的定界符

  16. 16

    用多个定界符分割字符串,并忽略引号中的定界符javascript

  17. 17

    分解字符串,然后解析定界符以获取变量

  18. 18

    根据多个定界符分割字符串

  19. 19

    在多个定界符上分割字符串

  20. 20

    在定界符后到行尾获取字符串

  21. 21

    获取定界符之间的相对大小的字符串

  22. 22

    如何使用定界符分割字符串并将其转换为整数

  23. 23

    Python使用定界符拆分整数和字符串(混合)列表?

  24. 24

    使用多字符定界符分割字符串

  25. 25

    使用awk或sed命令使用多个定界符剪切字符串

  26. 26

    使用默认定界符与用户定义定界符进行字符串拆分

  27. 27

    使用各种定界符分割字符串,同时保留定界符

  28. 28

    从SQL字符串拆分Multipile定界符

  29. 29

    在Oracle SQL中从字符串定界符中以“,”获取数字

热门标签

归档