• It doesn't work on versions 13.0.4435 and 13.0.1601. So I would say that correct answer is "You cannot do this with STRING_SPLIT()."

    My points are:
    1. It is not reliable because it works on several versions of MS SQL Server which does have that bug (feature).
    2. It is not elegant. Elegant solution would be like this:

    DECLARE @a VARCHAR(6) = 'ABCDEF';

    declare @nums as table (i tinyint);

    insert into @nums(i) values (1), (2), (3), (4), (5), (6);

    select substring(@a, i, 1) as [values]
    from @nums;

    The @nums table is fixed size for the purpose of simplicity. But you can change this code in order to be able to work with string of any size using function LEN() and bigger table.
    3. Also the solution in the question won't work with nvarchar strings, my code will work.