【发布时间】:2021-02-21 09:52:59
【问题描述】:
我有一个包含以下类型字符串的字段
X000233756_9981900025_201901_EUR_/
我首先需要取第一个_左边的字符 其次,我需要取第一个和第二个之间的字符 _
First _ is CHARINDEX('_',[Line_Item_Text],1) AS Position_1
Second _ is CHARINDEX('_',[Line_Item_Text],CHARINDEX('_',[Line_Item_Text],1)+1) AS Position_2
我当时期望能够做到
left([Line_Item_Text],CHARINDEX('_',[Line_Item_Text],1)-1) AS Data_1
Substring([Line_Item_Text],CHARINDEX('_',[Line_Item_Text],1)+1),CHARINDEX('_',[Line_Item_Text],CHARINDEX('_',[Line_Item_Text],1)+1) - CHARINDEX('_',[Line_Item_Text],1)+1)) AS Data_2"
哪个应该给我
X000233756
9981900025
但是当我开始对 CHARINDEX 函数进行加减运算时,会出现函数数量不正确的错误。
任何想法我哪里出错了?
TIA 杰夫
【问题讨论】: