Scripts

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

285 reads

Blogs

My Social Media Rules

By

I developed these rules a while back, before COVID. I had a period of...

Why Use TRY_PARSE(): #SQLNewBlogger

By

Someone asked why I would use TRY_PARSE after I posted a question at SQL...

A Guatemalan's Guide to Drinking Coffee Properly

By

My mugI grew up surrounded by coffee farms in Guatemala and somehow spent most...

Read the latest Blogs

Forums

Partitioning a table with TEXTIMAGE_ON option

By Brandie Tarvin

I have a table that ends in ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]. I'm about to...

ALAMAT BCA KCU TULUNGAGUNG Hub 082225313145

By m4l4mt194

WA CS 082225313145 WWH2+WP2, Jl. Pangeran Diponegoro No.54, Tamanan, Kec. Tulungagung, Kabupaten Tulungagung, Jawa...

OUTER APPLY Fundamentals: Part 2

By Imran2629

Comments posted to this topic are about the item OUTER APPLY Fundamentals: Part 2

Visit the forum

Question of the Day

The Range of Customers

I have this data in the OrderHeader table in a SQL Server 2025 database (ordered by CustomerID ASC):

orderid orderdate               customerid complete
3       2025-05-10 00:00:00.0002          1
21      2024-01-10 00:00:00.0003          1
15      2023-10-28 00:00:00.0004   1
13      2025-03-08 00:00:00.0006          1
11      2024-04-02 00:00:00.0007          1
If I run this query, how many rows are returned?
SELECT *
 from dbo.OrderHeader
 where customerid between 3 and '6'

See possible answers