-3

抱歉,我在乘火车回家时用手机写了这些问题,所以我手头没有现有的代码。我已经弄清楚了一些,但仍然需要一些帮助

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

4

1 回答 1

0

对于问题 1,替换

charindex('',COA.UserCode2) 

len(COA.UserCode2)

(或者只是硬编码长度)。

对于问题 2,您的第 2 列和第 3 列的 Substring Start 参数需要考虑您在前面的列中已经切掉的字符串的长度。我将使用嵌套的选择语句对此进行编码,以使代码不那么笨重。

于 2013-01-07T05:54:59.887 回答