SQLServerCentral Article

On the Trail of the ISO Week

Chris Hedgate, one of our regular SQL Server columnists, recently became intrigued by the way that SQL Server implements the week number. His concern was why SQL Server treats week 53 as week 1, which is not that way that ISO6801 sees it. Read about his investigation into the methods of implementing an algorithm to solve this problem.

Technical Article

SQL Server 2005 Recursive Functions

SQL Server 2005 has added a new format for queries called a Common Table Expression or CTE. CTE’s are part of the SQL:1999 Specification and represent further compliance with this specification by SQL Server. This article will cover using one of the many capabilities of CTE’s, implementing recursive functions. A recursive function is a one that iteratively executes itself. Understanding how CTE’s implement recursive functions is the first step to understanding the full capabilities of CTE’s.

Technical Article

SQL Server Database Index Performance

When it comes to auditing index use in SQL Server databases, I sometimes get overwhelmed. For example, how to do you go about auditing indexes in a database with over 1,500 tables? While auditing a single index is relatively straight-forward, auditing thousands of them in multiple databases is not an easy task. Whether the task is easy or not, it is an important task if you want to optimize the performance of your SQL Server databases.

Technical Article

SQL Server 2005 - Managed execution

The next version of SQL Server named SQL Server 2005 is completely hyped with the integration of CLR into SQL Server. The introduction of CLR into SQL Server allows developers to write stored procedures, triggers, user defined functions, user defined aggregates and user defined types using .NET languages like VB.NET and C#. This introduction has opened up multiple avenues for developers and we need to be careful in maximizing the feature provided.

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