有人可以告诉我哪里出错了,我似乎无法提取第四个单词 CCC,尝试了所有方法,不想将其放入表中,只是在选择中返回子字符串?
DECLARE @ProductCode VARCHAR(256)
SET @ProductCode = 'CCCC-DDDDDDD-AAA-CCC-BBBBB'
SELECT LEFT(@ProductCode,CHARINDEX('-',@ProductCode) - 1) AS CHAR1,
SUBSTRING(@ProductCode,CHARINDEX('-',@ProductCode) + 1,
CHARINDEX('-',@ProductCode,CHARINDEX('-', @ProductCode) + 1) - (CHARINDEX('-',@ProductCode) + 1)) AS CHAR2,
SUBSTRING(@ProductCode,CHARINDEX('-',@ProductCode,CHARINDEX('-',@ProductCode) + 1) + 1,
DATALENGTH(@ProductCode) - CHARINDEX('-', @ProductCode,CHARINDEX('-',@ProductCode) + 1) - CHARINDEX('-',REVERSE(@ProductCode))) AS CHAR3,
SUBSTRING(@ProductCode,CHARINDEX('-',@ProductCode,CHARINDEX('-',@ProductCode), CHARINDEX('-',@ProductCode) + 1)) + 1,
DATALENGTH(@ProductCode) - CHARINDEX('-', @ProductCode,CHARINDEX('-',@ProductCode), CHARINDEX('-',@ProductCode) + 1) - CHARINDEX('-',REVERSE(@ProductCode))) AS CHAR4,
RIGHT(@ProductCode,CHARINDEX('-',REVERSE(@ProductCode)) - 1) AS LASTCHAR
GO
非常感谢