我道歉,我把这些问题写在火车上,从我的手机回家,所以我没有现有的代码。我已经想出了一些但仍需要一些帮助
1)问题1:在每第6个数字后拆分,基本上我需要在每隔5个数字后拆分我的列,以便123456创建列,12345和第6个数字,我尝试使用下面的代码没有结果。没有空格或符号,只有数字。
substring(COA.UserCode2,5,charindex('',COA.UserCode2)) as Account
,
substring(COA.UserCode2,6,charindex('',COA.UserCode2)) as Project
2)问题2:每次*之后分裂,我可以得到下面的第一个工作(基金)但是我的成本中心和来源基本上不起作用,如果我有一个像1234 * 34 * 500这样的字符串,我需要基金的专栏有1234(这个我已经到了),我的成本中心说34,我的来源说500
substring(COA.UserCode3, 1,charindex('*',COA.UserCode3)) as Fund,
substring(COA.UserCode3, 3,charindex('*',COA.UserCode3)+1) as CostCenter,
substring(COA.UserCode3, 1,charindex('*',COA.UserCode3)) as Source
答案 0 :(得分:0)
问题1,替换
charindex('',COA.UserCode2)
带
len(COA.UserCode2)
(或者只是硬编码长度)。
对于问题2,第2列和第3列的Substring Start参数需要考虑您在前面列中已经切断的字符串的长度。我会用嵌套的选择语句对此进行编码,以使代码不那么笨重。