What about XML node method have you tried ever
select distinct
case (a.value ('/A[1]', 'VARCHAR(MAX)')) when '"L"' THEN 1 WHEN ' "D"' THEN 0 END [Column1],
case (a.value ('/A[2]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column2],
case (a.value ('/A[3]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column3],
case (a.value ('/A[4]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column4],
case (a.value ('/A[5]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column5],
case (a.value ('/A[6]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column6],
case (a.value ('/A[7]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column7],
case (a.value ('/A[8]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column8],
case (a.value ('/A[9]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column9],
case (a.value ('/A[10]', 'VARCHAR(MAX)')) when ' "L"' THEN 1 WHEN ' "D"' THEN 0 END [Column10]
from
(
SELECT CAST('<A>'+REPLACE(REPLACE(REPLACE(@DATA, '[', ''), ']', ''), ',', '</A><A>')+'</A>' AS XML) AS Data
--FROM <table_name>
) A CROSS APPLY Data.nodes ('/A') as split(a)
Result :
Column1 Column2 Column3 Column4 Column5 Column6 Column7 Column8 Column9 Column10
1 1 1 0 1 0 1 1 1 0