Steve Collins


Technical Article

T-SQL Table Valued Function to compare Semantic Versions

Semantic versioning (SemVer) is a standardized system for labeling software releases using a three-part number—major, minor, and patch—optionally followed by pre-release labels and build metadata. Comparing semantic versions is complex because it requires handling both numeric and string components, as well as special precedence rules for pre-releases and stable versions. SQL Server’s hierarchyid data type is ideally suited for comparing the numeric parts of semantic versions, enabling efficient and accurate ordering without the pitfalls of string comparison or manual parsing.

(1)

You rated this post out of 5. Change rating

2025-05-27

222 reads

Technical Article

Function and Queries to Convert Hierarchical Adjacency to Nested Json Arrays

This script converts hierarchical adjacency into nested json rows which contain the recursive "downlines" of each node.  The table-valued function treats each row in the original adjacency as the root node in a recursive common table expression. 

You rated this post out of 5. Change rating

2019-11-25 (first published: )

781 reads

Technical Article

Function and Queries to Convert Hierarchical Adjacency to Nested Json Arrays

This script converts hierarchical adjacency into nested json rows which contain the recursive "downlines" of each node.  The table-valued function treats each row in the original adjacency as the root node in a recursive common table expression. 

You rated this post out of 5. Change rating

2019-11-12 (first published: )

2,063 reads

Blogs

Reality (And Limits) of Instant File Initialization for Transaction Logs in SQL Server 2022

By

Reality (And Limits) of Instant File Initialization for Transaction Logs in SQL Server 2022 ...

Looking Back at the Redgate 2026 Company Kickoff

By

Last week I spent a few days in Cambridge, UK for the Redgate Company...

PASS Data Community Summit 2025 Recap

By

This is long overdue but life and distractions happened. It’s been a little over...

Read the latest Blogs

Forums

Adding and Dropping Columns II

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Adding and Dropping Columns II

Leveraging DuckDB for OLAP Workloads: The Fabric Modern Data Platform

By John Miner

Comments posted to this topic are about the item Leveraging DuckDB for OLAP Workloads:...

More Documentation is Needed

By Steve Jones - SSC Editor

Comments posted to this topic are about the item More Documentation is Needed

Visit the forum

Question of the Day

Adding and Dropping Columns II

I have this table in my SQL Server 2022 database:

CREATE TABLE [dbo].[CityList]
(
[CityNameID] [int] NOT NULL IDENTITY(1, 1),
[CityName] [varchar] (30) ,
[Country2] [char] (3),
[stateprovince2] [char] (2),
[Country] [char] (3),
[stateprovince] [char]
) ON [PRIMARY]
GO
I decide to drop the stateprovince2 and country2 columns. What code should I use?

See possible answers