Grant Fritchey

Grant Fritchey is a SQL Server MVP with over 20 years’ experience in IT including time spent in support and development. Grant has worked with SQL Server since version 6.0 back in 1995. He has developed in VB, VB.Net, C# and Java. Grant has authored books for Apress and Simple-Talk, and joined Red Gate as a Product Advocate in January 2011. Find Grant on Twitter @GFritchey or on his blog as the Scary DBA.

SQLServerCentral Editorial

It's All About the Gratitude

I'm writing this the day after the US holiday of Thanksgiving. Lots of things are said about Thanksgiving, positive, negative, in between. The core concept of the holiday is to take a moment to take stock of what you have. It's a good idea. Every so often, look around and acknowledge, depending on anyone's situation, […]

(3)

You rated this post out of 5. Change rating

2021-11-27

107 reads

SQLServerCentral Editorial

SQL Server 2022 and Learning

Microsoft announced the release of the next version of SQL Server, 2022. There's a bunch of new enhancements that we can all get excited about. I can't wait to test the "Parameter Sensitive Plan" optimization myself. We can look forward to seeing this stuff in action, and in detail, at the PASS Data Community Summit […]

You rated this post out of 5. Change rating

2021-11-06

426 reads

SQLServerCentral Editorial

Learning Is Challenging, So, Forgive Yourself

In addition to trying to get better at SQL Server, Redgate Software, and all the various aspects of my job, I'm also trying to get better at this whole human interaction thing AND I'm working on trying to learn PostgreSQL much more deeply. Whew! Yeah, may not seem like a whole lot, but I assure […]

(2)

You rated this post out of 5. Change rating

2021-10-16

271 reads

SQLServerCentral Editorial

Volunteer For Something

I spent a chunk of the day yesterday, after work, but before working on a new book (yeah, I've got two jobs now), playing with my radios. I was programming the digital one to get it to use my Raspberry Pi as a hotspot (it used to work, now it doesn't). I also spent some […]

(3)

You rated this post out of 5. Change rating

2021-09-25

214 reads

SQLServerCentral Editorial

The Leaves Are Changing, But Why?

I've recently moved house from Massachusetts to Oklahoma. Long story. Anyway, sitting in my new office looking out at the trees, some of the leaves are starting to change. Ah, Fall. Lovely Autumn colors... WAIT! Actually, something else is going on. Only a few trees are changing color. Word is, we've been a little dry […]

(1)

You rated this post out of 5. Change rating

2021-09-04

181 reads

SQLServerCentral Editorial

Define All The Steps Up Front

After 23 years in one place, I'm pulling up stakes and moving. We're selling our house in one state in the US and we're buying a house in another state about half a continent away. To say it's a stressful and exhausting process is an understatement. The worst part is that no one has defined […]

You rated this post out of 5. Change rating

2021-07-24

203 reads

SQLServerCentral Editorial

Happy Birthday USA!

This is the Fourth of July weekend here in the US when we celebrate the birth of the country based on the publication of the Declaration of Independence. For those who don't know, this celebration mostly consists of fireworks and outdoor cookouts. However, at our house we've always tried to do a little bit more […]

(2)

You rated this post out of 5. Change rating

2021-07-03

129 reads

SQLServerCentral Editorial

Live On Stage AND On Your Screen

I've just finished up teaching at an in-person event, the first in fifteen months. It was the SQL Server and Azure SQL Conference (formerly known as SQLIntersection). The event organizers did a great job making it into a hybrid event, where  we presented both in-person and virtually, so that people could choose if they wanted […]

(1)

You rated this post out of 5. Change rating

2021-06-12

135 reads

SQLServerCentral Editorial

Non-Stop Learning

There was a recent discussion in the forums here at SQL Server Central regarding the difficulties presented by the constantly shifting technology landscape. The core question was, how on earth do you master stuff? Especially, how do you master things when they're both new and constantly changing? Honestly, you don't. I mean, you can, but […]

(2)

You rated this post out of 5. Change rating

2021-05-08

254 reads

SQLServerCentral Editorial

The Thriving Data Community

A while back I wrote an editorial about how I believed the data community would easily continue after the PASS organization was no more. I'm pleased as punch to be able to report that I was right. Not because I enjoy being right (I do, who doesn't), but because I care very much for the […]

You rated this post out of 5. Change rating

2021-04-18

102 reads

Blogs

In-Person CISA Training – April 13-16, 2026

By

I will be leading an in-person Certified Information Systems Auditor (CISA) exam prep class...

EightKB 2026

By

EightKB is back again for 2026! The biggest online SQL Server internals conference is...

The FinOps Lifecycle: From Budgeting to Reporting

By

Working in DevOps long enough teaches you two universal truths: That’s exactly why I...

Read the latest Blogs

Forums

VS Code, Unresolved References.

By mjdemaris

Hi all, I just started using VS Code to work with DB projects.  I...

Fun with JSON II

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Fun with JSON II

Changing Data Types

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Changing Data Types

Visit the forum

Question of the Day

Fun with JSON II

I have some data in a table:

CREATE TABLE #test_data
(
    id INT PRIMARY KEY,
    name VARCHAR(100),
    birth_date DATE
);

-- Step 2: Insert rows  
INSERT INTO #test_data
VALUES
(1, 'Olivia', '2025-01-05'),
(2, 'Emma', '2025-03-02'),
(3, 'Liam', '2025-11-15'),
(4, 'Noah', '2025-12-22');
If I run this query, how many rows are returned?
SELECT t1.[key] AS row,
       t2.*
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t1
    CROSS APPLY OPENJSON(t1.value) t2;

See possible answers