Du burde finde en bedre måde at repræsentere det, du ønsker, men jeg tror, at følgende kommer tæt på:
select concat_wc(',', substring_index(substring_index(entry_value, '"', 2), '"' -1),
substring_index(substring_index(entry_value, '"', 4), '"' -1),
. . .
)
Du skal muligvis sætte en stopbetingelse baseret på antallet af værdier i antallet af værdier i strengen, hvilket resulterer i noget som:
select concat_ws(',',
case when num_entry_values >= 1 then substring_index(substring_index(entry_value, '"', 2), '"' -1) end,
case when num_entry_values >= 2 then substring_index(substring_index(entry_value, '"', 4), '"' -1) end,
. . .
)
Hvis du ikke har dette tal, kan du beregne det ved at tælle antallet af dobbelte anførselstegn i strengen.
EDIT:
For at tælle antallet af poster skal du tælle
from (select aev.*,
(length(entry_value) = length(replace(entry_value, '"', '')) ) / 2 as num_entry_values
from ch_arf_entry_values aev
) aev