我有几百条记录与从iSeries消息队列的字符串是这样的:分割字符串列正确地在我的查询空间
006 1 AccountSetBalance 0000000000 EQ 2016-03-01-18.45.42.002000 0038882665 _ 123456 12345612345678 17017362 0 0
我需要在我的结果账号部分12345678
,余额显示这是17017362
一部分,我曾尝试:
SELECT MQ_Message
, SUBSTRING(MQ_Message,92,30) -- = 12345678 17017362 0
, SUBSTRING(MQ_Message,92,8) -- = 12345678 , SUBSTRING(MQ_Message,100, CHarIndex(' ', SUBSTRING('006 1 AccountSetBalance 0000000000 EQ 2016-03-01-18.45.42.002000 0038882665 _ 123456 12345612345678 17017362 0 0',92,20)))
, CHarIndex(' ', SUBSTRING('006 1 AccountSetBalance 0000000000 EQ 2016-03-01-18.45.42.002000 0038882665 _ 123456 12345612345678 17017362 0 0',99,20))
, CHARINDEX(' ','17017362 0 0')
from outboundMessages WHERE message_Type = '006'
我可以得到账户很容易不够,因为该字符串是固定的乐NGTH达到平衡,但后来我需要拆分由SUBSTRING(MQ_Message,92,30)
返回的字符串,并取得平衡部分出它是17017362
,将是,也许之间的不同(便士!)
为了达到平衡,我尝试了使用CHARINDEX的所有可能的组合。
这样做的最好方法是什么?
的可能的复制[?我该如何分割字符串,所以我可以访问项x](http://stackoverflow.com/questions/2647/how-do- i-split-a-string-so-i-can-access-item-x) –
那么,你是否尝试过我的解决方案? – gofr1