我有一个字符串的小问题,我需要获取它的特定部分。
我确切地知道它从哪里开始,但它可以有可变的长度,所以我不能使用SUBSTRING,因为我有固定长度的字符可以使用。
示例:
EREF+322345 KARR CUSTOMER1 ....
EREF+3211234 KARR CUSTROMER2....我需要取+符号之后的数字,直到单词KARR开始之前的空格。第一行是322345 (6个字符),第二行是3211234 (7个字符),所以长度可以是可变的。
SUBSTRING在这种情况下对我没有帮助,因为我没有固定数量的字符,我想要从字符串中剪切出来。有什么建议吗?
发布于 2017-08-23 17:19:37
这将会起作用:
declare @a varchar(255)='EREF+322345 KARR CUSTOMER1'
select substring(@a,charindex('+',@a,1)+1,charindex(' ',@a,1)-charindex('+',@a,1))
-------------------------------
declare @a varchar(255)='EREF+3211234 KARR CUSTROMER2.'
select substring(@a,charindex('+',@a,1)+1,charindex(' ',@a,1)-charindex('+',@a,1))https://stackoverflow.com/questions/45835474
复制相似问题