sql >> Database >  >> RDS >> Sqlserver

Hoe json-gegevens in SQL Server 2012 te ontleden?

Ik heb een functie gemaakt die compatibel is met SQL 2012 om hiervoor te zorgen

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      Isaac Adams
-- Create date: 7/12/2018
-- Description: Give the JSON string and the name of the column from which you want the value
-- =============================================
CREATE FUNCTION JSON_VALUE
(
    @JSON NVARCHAR(3000),
    @column NVARCHAR(3000)
)
RETURNS NVARCHAR(3000)
AS
BEGIN

DECLARE @value NVARCHAR(3000);
DECLARE @trimmedJSON NVARCHAR(3000);

DECLARE @start INT;
DECLARE @length INT;

SET @start = PATINDEX('%' + @column + '":"%',@JSON) + LEN(@column) + 3;
SET @trimmedJSON = SUBSTRING(@JSON, @start, LEN(@JSON));
SET @length = PATINDEX('%", "%', @trimmedJSON);
SET @value = SUBSTRING(@trimmedJSON, 0, @length);

RETURN @value
END
GO


  1. MySQL op verwijder cascade. Testvoorbeeld

  2. Selecteer kolomnaam en waarde uit tabel

  3. Niet-Engelse karakters verschijnen als vraagtekens op mijn php-pagina - verschijnen prima in database

  4. Onjuiste URL bij het uitvoeren van mysql-query (niet volgens de instructies voor de locatie van de header van php)