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

218 reads

Blogs

Learn Better: Pause to Review More

By

If you want to learn better, pause more in your learning to intentionally review.

Azure SQL Managed Instance Next-Gen: Bring on the IOPS

By

If you’ve used Azure SQL Managed Instance General Purpose, you know the drill: to...

SQL, MDX, DAX – the languages of data

By

Ramblings of a retired data architect Let me start by saying that I have...

Read the latest Blogs

Forums

Azure SQL DBA certification

By ashrukpm

Hello team Can anyone share popular azure SQL DBA certification exam code? and your...

Faster Data Engineering with Python Notebooks: The Fabric Modern Data Platform

By John Miner

Comments posted to this topic are about the item Faster Data Engineering with Python...

Which Result II

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Which Result II

Visit the forum

Question of the Day

Which Result II

I have this code in SQL Server 2022:

CREATE SCHEMA etl;
GO
CREATE TABLE etl.product
(
    ProductID INT,
    ProductName VARCHAR(100)
);
GO
INSERT etl.product
VALUES
(2, 'Bee AI Wearable');
GO
CREATE TABLE dbo.product
(
    ProductID INT,
    ProductName VARCHAR(100)
);
GO
INSERT dbo.product
VALUES
(1, 'Spiral College-ruled Notebook');
GO
CREATE OR ALTER PROCEDURE etl.GettheProduct
AS
BEGIN
    exec('SELECT ProductName FROM product;')
END;
GO
When I execute this code as a user whose default schema is dbo and has rights to the tables and proc, what is returned?

See possible answers