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

You Have Homework

I'm very humbled and honored to be able to type this next sentence. My friend, Buck Woody, sometimes gives me book recommendations. Except, with Buck, you have to understand, it's not really a recommendation. It's an assignment. There'll be a test later. You had best have studied. Failing, well, let's not discuss that, it's too […]

(1)

You rated this post out of 5. Change rating

2026-01-31

72 reads

SQLServerCentral Editorial

Happy Holidays, Let's Do Nerdy Stuff

I'm actually writing this on my day off. I took a bunch of vacation around the holidays because I could, and because I don't take enough the rest of the year. Anyway, I'm just going to share how I've been spending my time (not counting time with the family, which I am certainly doing). I […]

(2)

You rated this post out of 5. Change rating

2025-12-27

76 reads

SQLServerCentral Editorial

Personal Contact Is Vital

I'm writing this while in hiding at the PASS Data Community Summit that's taking place in Seattle this week. I just had a real surprise, finding out that DocumentDB is PostgreSQL under the covers and always has been. However, as much as I enjoy talking PostgreSQL, for the moment, I'll shut up about it. Instead, […]

You rated this post out of 5. Change rating

2025-11-22

73 reads

SQLServerCentral Editorial

I Love Editorials

Why do I love editorials, I can hear you asking. The answer is simple. It's all about opinions. I have opinions. Lots of them. Lots and lots of them. I'm flying home from Hong Kong after visiting a Redgate customer. They are doing amazing work.. It's so cool getting to see how people are solving […]

(1)

You rated this post out of 5. Change rating

2025-10-18

61 reads

SQLServerCentral Editorial

Technological Dinosaurs or Social Dinosaurs?

You're going to have to bear with me on this one because my thoughts aren't fully formed. As I'm sure I've mentioned, I'm a little elderly (and you thought I was going to talk about radios). As such, I've seen the death of a few technologies. I may not have shared this widely, but my […]

(3)

You rated this post out of 5. Change rating

2025-10-11

178 reads

SQLServerCentral Editorial

The Yutes

I recently had the opportunity to talk a little PostgreSQL with the Salt Lake City PostgreSQL Meetup group (thank you for having me by the way). Great bunch of people who were really engaged and asked a lot of questions. On the way out of the event, I was chatting with one person (who had […]

(1)

You rated this post out of 5. Change rating

2025-09-13

207 reads

SQLServerCentral Editorial

Hack Your Brain

Now, let's be really clear up front, I don't mean getting a surgically implanted chip in your head, done on your kitchen table. Brain hacks are generally either, forming habits that are good for learning and concentration, changing how you do things to help enhance your brains function, eating differently in support of brain health, […]

You rated this post out of 5. Change rating

2025-08-02

120 reads

SQLServerCentral Editorial

Get Your Chores Done

I grew up in a pretty rural environment, in the southern US, in what's considered the Old West (Jesse James, reportedly, had a hideout a few miles from my current home, the Daltons, Belle Star, I can keep going, all came through this part of Oklahoma). Here, we call our daily tasks, like taking out […]

You rated this post out of 5. Change rating

2025-08-01

104 reads

SQLServerCentral Editorial

A Little Appreciation

I'd like to take a moment and simply voice my appreciation for Steve Jones. Steve's still on sabbatical, so I've been doing some of the work, along with my co-worker, Kellyn Gorman (who I also appreciate, very much). I'm sure you've noticed. Oh, not simply that the editorials are different. That's to be expected. Nah, […]

(5)

You rated this post out of 5. Change rating

2025-07-30

106 reads

SQLServerCentral Editorial

Planning for the Right Emergency Response

I'm currently testing a pair of POC radios <editor: can no one shut him up about the radios?> No, go away. So, where was I, oh yeah, POC radios. What are they, I hear you asking. <editor: no one asked that> Hush. Push-to-talk Over Cellular. POC or PoC. In short, you get a SIM card […]

(1)

You rated this post out of 5. Change rating

2025-07-28

87 reads

Blogs

Finding and Updating Duplicate IDs: #SQLNewBlogger

By

Finding duplicates was an interview question for me years ago, and I’ve never forgotten...

Optimising Costs: Strategies for Efficient Cloud Resource Management

By

Over time, I’ve realised that one of the hardest parts of cloud management isn’t...

Cost Visibility: Tracking and Analysing Your Cloud Spend

By

One of the biggest challenges I’ve faced in cloud operations is maintaining clear visibility...

Read the latest Blogs

Forums

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

Answering Questions On Dropped Columns

By Cláudio Silva

Comments posted to this topic are about the item Answering Questions On Dropped Columns

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