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

192 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: )

772 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,060 reads

Blogs

Finding the Last Last Name in SQL: #SQLNewBlogger

By

I wrote a piece on the new SUBSTRING in SQL Server 2025 and got...

SQL Server 2025 GAs Today

By

If you aren’t watching the Ignite keynotes today, then you might have missed the...

Run SQL Server 2025 and SQL Server Management Studio on macOS Tahoe

By

Short version You want to get this running as fast as possible. Do these...

Read the latest Blogs

Forums

Email change does not work

By rjkoala1

I changed my email address in Edit Profile page, but it has no effect...

The case for "Understanding our business" training

By David.Poole

Comments posted to this topic are about the item The case for "Understanding our...

Specifying the Collation

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Specifying the Collation

Visit the forum

Question of the Day

Specifying the Collation

I am dealing with issues on my SQL Server 2022 instance related to collation. I have an instance collation of Latin1_General_CS_AS_KS_WS, but a database collation of Latin1_General_CI_AS. I want to force a few queries to run with a specified collation by using code like this:

DECLARE @c VARCHAR(20) = 'Latin1_General_CI_AS'

SELECT  p.PersonType,
        p.Title,
        p.LastName,
        c.CustomerID,
        c.AccountNumber
 FROM Person.Person AS p
 INNER JOIN Sales.Customer AS c
 ON c.PersonID = p.BusinessEntityID
 COLLATE @c
Will this solve my problem?

See possible answers