我有一个包含用户配置文件的字符串,其中数据的第一部分始终相同,第二部分数据始终是可变的。 我需要提取midle部分
字符串示例;
ABC_01_Operator ,XX=ALPHABET-XYZ
ABC_07_Admin ,XX=ALPHABET-XYZ
我想提取的数据:
01_Operator
07_Admin
我有2个提取部分的函数,但我找不到合并它们的方法
1) SUBSTRING (MyField, 5, 12) to start from 01 / 07
2) LEFT(MyField, CHARINDEX(',XX', MyField) - 1)
答案 0 :(得分:0)
试试这个答案:
DECLARE @MyField VARCHAR(100)='ABC_01_Operator ,XX=ALPHABET-XYZ'
SELECT RIGHT(LEFT(@MyField, CHARINDEX(',XX', @MyField) - 1)
,LEN(LEFT(@MyField, CHARINDEX(',XX', @MyField) - 1))-3)
<强>结果:强>
01_Operator
07_Admin
答案 1 :(得分:0)
将(2)
作为此(1)
的第一个参数(为子字符串长度设置一个相当高的值):
select SUBSTRING(LEFT(@MyField, CHARINDEX(',XX', @MyField) - 1),5, 1000);
答案 2 :(得分:0)
您可以同时使用这两个功能来生成结果
SELECT substring(MyField, 5, charindex('XX', MyField, 1)-2)