Eerlijk gezegd is dit een vreselijke architectuur voor het opslaan van de gegevens en kan dit leiden tot ernstige prestatieproblemen.
Als u echt geen controle heeft om de database te wijzigen, kunt u kunt bereik dit door de waarde te ontleden met SUBSTRING
zoals hieronder, maar het leidt tot een zeer ongelukkig pad:
SELECT *
FROM tb1
JOIN tb2 on tb2.bvin =
SUBSTRING(
tb1.json
,CHARINDEX('"bvin":"', tb1.json) + LEN('"bvin":"')
,CHARINDEX('"', tb1.json, CHARINDEX('"bvin":"', tb1.json) + LEN('"bvin":"')) - CHARINDEX('"bvin":"', tb1.json) - LEN('"bvin":"')
)
En helaas is dat zo eenvoudig als het maar zijn kan.