Finding Gaps in Sequential Data Using SQL Server
Many systems expect a sequential range of numbers for invoices, ticket numbers, and more. Learn how you can identify where you have gaps in your sequences.
2026-09-21
3,722 reads
Many systems expect a sequential range of numbers for invoices, ticket numbers, and more. Learn how you can identify where you have gaps in your sequences.
2026-09-21
3,722 reads
In Part 2 of this series we learn how OUTER APPLY can be used in your queries to return data, even when there are no matches between tables.
2026-08-12
3,327 reads
As database changesets accumulate over time, they gradually become more than deployment artifacts. This level explores how a well-organized changeset library evolves into a replayable representation of the database’s structural history, supporting not only reliable deployments but also reconstruction, auditing, and long-term maintainability. Through practical examples and a real-world case study, it shows why maintaining coherent Create and Rollback scripts continues to provide value long after a successful production deployment.
2026-08-05
693 reads
Learn the basics of the CROSS APPLY operator with a few examples in this short piece.
2026-07-27
6,195 reads
This article shows how the TRY_PARSE() and TRY_CONVERT() functions can be used to handle data quality issues and ensure that your software continues to function without throwing errors.
2026-07-13
3,778 reads
Learn about an alternative strategy for avoiding hardcoded literal values in SQL Server queries by using single-row views designed to mimic enum behavior.
2026-06-26
3,447 reads
As database development scales across multiple contributors, concurrency becomes an inherent aspect of the process. Changes that are individually correct may still conflict when developed against a shifting baseline. This level introduces a disciplined approach to managing parallel changesets by controlling their scope, identifying overlap, and resolving conflicts through realignment. By ensuring that only one changeset retains its original baseline while others are adapted accordingly, deployments remain predictable and consistent. Once released, changesets are treated as immutable, and further evolution proceeds through new, forward-only changes.
2026-06-24
1,208 reads
This level examines how a rehearsed changeset is transformed into production-ready deployment artifacts. By consolidating scripts into controlled execution units and validating the resulting artifacts, the approach ensures that production deployment remains predictable and aligned with what was proven during rehearsal.
2026-06-10
1,182 reads
Introduction When developers first learn SQL aggregation, they usually start with the GROUP BY clause. It works well for summary reports because it combines multiple rows into a single result for each group. For example, you can calculate total sales per region or average salary per department. The limitation of GROUP BY appears when you […]
2026-06-05
4,562 reads
Learn a quick way to calculate distances without resorting to spatial calculations.
2026-05-08
2,486 reads
By Steve Jones
This is timely, as I’m currently on a boat in the Adriatic taking a...
You can find the slides and SQL scripts for my session “Spice up your...
By SQLPals
How to Clear the SSMS Cache (SSMS 21 and Later) Updated...
Comments posted to this topic are about the item Risk Vs Reward, The never...
Comments posted to this topic are about the item Using CHOOSE()
Comments posted to this topic are about the item Re-Seeding a Broken Log Shipping...
We have this code that sets some status values and then queries them using the CHOOSE() function in SQL Server 2025.
CREATE TABLE Status
(
StatusID INT,
StatusDescription VARCHAR(20)
);
GO
INSERT dbo.Status
(
StatusID,
StatusDescription
)
VALUES
(0, 'Uncategorized'),
(1, 'Active'),
(2, 'Inactive'),
(3, 'Temp');
GO
SELECT CHOOSE(StatusID, 'Unknown', 'Active', 'Inactive', 'Temporary')
FROM Status;
When the SELECT runs, what is returned? See possible answers