Skip to main content

SQL Server tables with JSON

We can indeed store json data as-is into a traditional Microsoft SQL Server database. The document hosted on Microsoft's site left a lot of questions and unknowns that I had to explore and experiment to figure out the right recipe for creating a table to store json, inserting the data as json and querying for the values of individual keys within the json. Here you go: 


--Create a table with an identity column and a nvarchat(max) column to store the individual json documents

create table dbo.logs (

    _id bigint primary key identity,

    json_log nvarchar(max)

);


--Add a constraint to the json_log column of the table to ensure that the table accepts only json as value to store

ALTER TABLE dbo.logs

ADD CONSTRAINT [json_log record should be formatted as JSON]

CHECK (ISJSON(json_log)=1);


--Insert json into the table

insert into dbo.logs values ('{"key": "value"}');

insert into dbo.logs values ('{"key": "value1"}');


--Query for all json values in the table

select * from logs;


--Query to get the specific value of a key in the json

select json_value(json_log, '$.key') from Logs l;



Popular posts from this blog

Create #VirtualPrivateCloud, NAT Instance and NAT Gateways on @AWSCloud

Create a Virtual Private Cloud, NAT instance and the new NAT Gatweay ... and making it all work. This is a YouTube playlist of three videos.

Cheat sheet to create a #VPC and Subnets on @AWSCloud

One of the critical things to remember for working with a AWS VPC is creating and using it. I had hard time remembering how to do it, so, I wrote down a cheat sheet for myself.  If anyone wants to follow along, just navigate to the VPC page on the AWS Console and start with 'Create VPC' button. Please note that this may cost some dollars if you are not on the free tier. If you are on the free tier and make mistakes, it may cost some dollars. In the steps below, we will be creating the following on a new VPC: An internet gateway One public subnet with routes for accessibility from the internet One private subnet without any routes One EC2 web server with Apache installed in it and serving a sample html page - using the public subnet. One EC2 server with the private subnet and security group that allows access to resources running on the public subnet only.  Create VPC Name tag: myVPC CIDR Block: 10.0.0.0/16 Tenancy: default (Must have default. Otherwise, i...

My Infographic Resume