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

341 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-24

952 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,171 reads

Blogs

Au Revoir for now

By

No, I’m not quitting or retiring. Just going on vacation, but I leave tonight...

Goodbye, Microsoft

By

A few years ago I took a new job at Microsoft, working as a...

The SUM of Nothing: #SQLNewBlogger

By

I caught this interesting item over on Pinal Dave’s blog: Eleven Interview Questions that...

Read the latest Blogs

Forums

Building a SQL Server Fleet Audit That Leadership Actually Reads

By Mayank Sethi

Comments posted to this topic are about the item Building a SQL Server Fleet...

Smart AI Agents and Data Security

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Smart AI Agents and Data...

RegEx Functions IV

By Steve Jones - SSC Editor

Comments posted to this topic are about the item RegEx Functions IV

Visit the forum

Question of the Day

RegEx Functions IV

I have this data in a table in a SQL Server 2025 database:

EmailAddressID EmailAddress
7              [email protected]
8              [email protected]
If I run this query, which row(s) are returned?
SELECT top 10
 *
 FROM person.EmailAddress
 WHERE REGEXP_LIKE(EmailAddress, '^D', 'i')
 AND BusinessEntityID IN (7,8)
See possible answers