What you are going to want to do is to utilize a string splitting function. The easy way to do this is going to use multiple queries; the first to convert the string to rows, and the last to get the specific row.
SQL Server 2016 has this function built in, called
STRING_SPLIT
STRING_SPLIT (Transact-SQL) | Microsoft Docs[
^]
Other versions of SQL can have similar functions installed, some are better than the now native function. SQL Server Central has quite a few and documentation on testing of these.
This is a very quick and ugly routine that has the basics of what you want. Once understood this should be refactored.
I am leaving it unrefined so that you can see the basics of the operations that are needed which reinforces
OriginalGriff's assertion that string functions just aren't SQLs forte.
You would be much better off working in C# or whatever language and converting this to an array, then you can just grab whatever value by index
DECLARE @ElementCount INT =0
DECLARE @CSV NVARCHAR(1000) = 'AX,BX,CX,DX'
DECLARE @DesiredValue NVARCHAR(100)
DECLARE @SplitTable TABLE(idx INT IDENTITY(1,1) NOT NULL, Element NVARCHAR(100))
INSERT @SplitTable SELECT val FROM STRING_SPLIT(@CSV, ',')
SET @ElementCount = @@RowCount
SELECT @DesiredValue = val FROM @SplitTable WHERE idx = @ElementCount -1
PRINT @DesiredValue