I am working on splitting a string into its basic components. I have figured out the first part and is working fine;
SELECT(SUBSTRING(Field,0,CHARINDEX('_',Field,0))) AS POS1
What I am currently having a problem with is the 2nd and 3rd parts. The format of the whole string is; character_character_character (where each of these fields can have a varied amount of characters).
SUBSTRING(Field, CHARINDEX('-',Field)+1, CHARINDEX('_',Field, CHARINDEX('_',Field)+1 - CHARINDEX('_',Field)-1)) AS POS2
This is working in some instances but truncating in others. I've been staring at this for so long that I am solution blind.
Also, going to tackle the third position.
Any advice would be welcomed as to why this does work the way it should.