我在表格中有一个字符串:
S-1-5-21-109290937-1013972632-435976164-15678 | l.smith | DOMAIN-UK | 0x95231 | 1
我需要在第一个和第二个之间提取数据。
所以从上面它只返回l.smith。
我尝试了各种CHARINDEX
和SUBSTRINGS
,但它总是出错,字符串的长度也会改变,所以我不能修剪其他的进行。
答案 0 :(得分:3)
我刚试过这个,希望这就是你要找的,
DECLARE @VALUE VARCHAR(MAX) = 'S-1-5-21-109290937-1013972632-435976164-15678|l.smith|DOMAIN-UK|0x95231|1';
DECLARE @FIRSTINDEX INT = CHARINDEX('|',@VALUE,1);
SELECT
SUBSTRING(@VALUE, @FIRSTINDEX+1, CHARINDEX('|',@VALUE,@FIRSTINDEX+1)-CHARINDEX('|',@VALUE,1)-1);