具有4个定界符的TSQL解析字符串

巴拉库拉

我正在尝试解析此字符串:

'200 | 50 | [email protected] | 09 \ 23 \ 2016 | 07:00:00'

分成5列,我感到沮丧。

分隔符是管道|

字段不是固定的,因此我需要使用charindex来查找定界符的位置?

请帮忙谢谢

约翰·卡佩莱蒂

另一种选择如下。可以将其烘焙到TVF中,甚至进行交叉应用

Declare @String varchar(max) = '200|50|[email protected]|09\23\2016|07:00:00'

Select Pos1 = xDim.value('/x[1]','varchar(max)')
      ,Pos2 = xDim.value('/x[2]','varchar(max)')
      ,Pos3 = xDim.value('/x[3]','varchar(max)')
      ,Pos4 = xDim.value('/x[4]','varchar(max)')
      ,Pos5 = xDim.value('/x[5]','varchar(max)')
      ,Pos6 = xDim.value('/x[6]','varchar(max)')
      ,Pos7 = xDim.value('/x[7]','varchar(max)')
      ,Pos8 = xDim.value('/x[8]','varchar(max)')
      ,Pos9 = xDim.value('/x[9]','varchar(max)')
 From (Select Cast('<x>' + Replace(@String,'|','</x><x>')+'</x>' as XML) as xDim) A

退货

在此处输入图片说明

编辑-交叉使用-易于扩展/收缩

Declare @YourTable table (ID int,SomeString varchar(max))
Insert Into @YourTable values
(1,'200|50|[email protected]|09\23\2016|07:00:00'),
(2,'400|99|[email protected]|11\15\2016|09:00:00')

Select A.ID
      ,B.*
 From  @YourTable A
 Cross Apply (
                Select Pos1 = xDim.value('/x[1]','varchar(max)')
                      ,Pos2 = xDim.value('/x[2]','varchar(max)')
                      ,Pos3 = xDim.value('/x[3]','varchar(max)')
                      ,Pos4 = xDim.value('/x[4]','varchar(max)')
                      ,Pos5 = xDim.value('/x[5]','varchar(max)')
                      ,Pos6 = xDim.value('/x[6]','varchar(max)')
                      ,Pos7 = xDim.value('/x[7]','varchar(max)')
                      ,Pos8 = xDim.value('/x[8]','varchar(max)')
                      ,Pos9 = xDim.value('/x[9]','varchar(max)')
                 From (Select Cast('<x>' + Replace(A.SomeString,'|','</x><x>')+'</x>' as XML) as xDim) A
             ) B

退货

在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

C将字符串解析为没有定界符的单独变量?

来自分类Dev

如何在没有明确的定界符的情况下解析键值字符串?

来自分类Dev

解析带有定界符的字符串并将其加载到映射中?

来自分类Dev

具有多个定界符的字符串流

来自分类Dev

匹配具有可变左右定界符的字符串

来自分类Dev

连接具有不同最后定界符的字符串

来自分类Dev

javascript:将字符串拆分为具有不同定界符的数组

来自分类Dev

Bash-比较具有不同定界符的字符串的简便方法?

来自分类Dev

将具有嵌套定界符的字符串转换为映射

来自分类Dev

如何删除具有定界符的字符串中的重复值

来自分类Dev

拆分没有通用定界符的字符串

来自分类Dev

当两个定界符在字符串中多次出现时,提取两个定界符之间的所有文本

来自分类Dev

如果一个定界符跟在另一个定界符之后,则用定界符分割字符串并检索空白

来自分类Dev

如何用多个定界符爆炸一个字符串并保持定界符?

来自分类Dev

两个相同或不同定界符之间的子字符串(当定界符出现多次时)

来自分类Dev

拆分字符串保留一些定界符,但删除另一个定界符

来自分类Dev

字符串在R中的最后一个(也是第n个)定界符处拆分,并删除定界符之前的字符串

来自分类Dev

字符串在R中的最后一个(也是第n个)定界符处分割,并删除定界符之前的字符串

来自分类Dev

如何使单词/字符串的唯一部分带有两个定界符?

来自分类Dev

将两列的表连接到带有2个定界符的单个字符串中

来自分类Dev

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

来自分类Dev

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

来自分类Dev

基于相同定界符的php字符串解析

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

    C将字符串解析为没有定界符的单独变量?

  7. 7

    如何在没有明确的定界符的情况下解析键值字符串?

  8. 8

    解析带有定界符的字符串并将其加载到映射中?

  9. 9

    具有多个定界符的字符串流

  10. 10

    匹配具有可变左右定界符的字符串

  11. 11

    连接具有不同最后定界符的字符串

  12. 12

    javascript:将字符串拆分为具有不同定界符的数组

  13. 13

    Bash-比较具有不同定界符的字符串的简便方法?

  14. 14

    将具有嵌套定界符的字符串转换为映射

  15. 15

    如何删除具有定界符的字符串中的重复值

  16. 16

    拆分没有通用定界符的字符串

  17. 17

    当两个定界符在字符串中多次出现时,提取两个定界符之间的所有文本

  18. 18

    如果一个定界符跟在另一个定界符之后,则用定界符分割字符串并检索空白

  19. 19

    如何用多个定界符爆炸一个字符串并保持定界符?

  20. 20

    两个相同或不同定界符之间的子字符串(当定界符出现多次时)

  21. 21

    拆分字符串保留一些定界符,但删除另一个定界符

  22. 22

    字符串在R中的最后一个(也是第n个)定界符处拆分,并删除定界符之前的字符串

  23. 23

    字符串在R中的最后一个(也是第n个)定界符处分割,并删除定界符之前的字符串

  24. 24

    如何使单词/字符串的唯一部分带有两个定界符?

  25. 25

    将两列的表连接到带有2个定界符的单个字符串中

  26. 26

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

  27. 27

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

  28. 28

    基于相同定界符的php字符串解析

  29. 29

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

热门标签

归档