Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consultar JSON dentro da coluna do SQL Server 2012


Honestamente, essa é uma arquitetura terrível para armazenar os dados e pode resultar em alguns problemas sérios de desempenho.

Se você realmente não tem controle para alterar o banco de dados, pode faça isso analisando o valor com SUBSTRING como abaixo, mas está levando a um caminho muito infeliz:
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":"')
    )

E, infelizmente, isso é tão fácil quanto pode ser.