sql >> Databasteknik >  >> RDS >> Sqlserver

Fråga JSON i kolumnen SQL Server 2012

Ärligt talat är detta en fruktansvärd arkitektur för att lagra data och kan resultera i allvarliga prestandaproblem.

Om du verkligen inte har kontroll över att ändra databasen, kan du uppnå detta genom att analysera värdet med SUBSTRING som nedan, men det leder ner på en mycket olycklig väg:

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

Och tyvärr är det så enkelt som det kan vara.



  1. SQL Alias ​​förklarat

  2. SQL Server namngiven instans med Visual Studio 2017 Installer-projekt

  3. Kod för att anropa en funktion i ett paket från C# och ODP.NET

  4. Utlösaren utlöses inte för en viss CLOB-kolumn