sql >> Databáze >  >> RDS >> Sqlserver

Dotaz JSON uvnitř sloupce SQL Server 2012

Upřímně řečeno, toto je hrozná architektura pro ukládání dat a může způsobit vážné problémy s výkonem.

Pokud opravdu nemáte kontrolu nad změnou databáze, můžete toho dosáhnete analýzou hodnoty pomocí SUBSTRING jako níže, ale vede to velmi nešťastnou cestou:

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":"')
    )

A bohužel je to tak snadné, jak to jen může být.



  1. Problém s vkládáním dat z csv do databáze mysql s neznámým počtem sloupců

  2. chyba kořenového oprávnění mysql k aktualizaci information_schema

  3. Doctrine querybuilder DATE_FORMAT nefunguje

  4. Osvědčené postupy s historickými daty v databázi MySQL