SQLServerCentral Editorial

The DBA's Twelve Days of Christmas

On the first day of Christmas my new DBA sent to me A table with a primary key On the second day of Christmas my new DBA sent to me Two Foreign Keys, and A table with a primary key On the third day of Christmas my new DBA sent to me Three stored procs […]

External Article

SQL Server Change Tracking to Optimize Data Refreshes for Reporting

You’re a developer responsible for maintaining a SQL Server database used to feed data to Power BI. You realize that some tables don’t have a modifiedDate column and some do. Also, you know the data is updated by the application as well as other processes which makes the modifiedDate unreliable. This is because it may not always be updated when data changes. You need a way to track data changes to ensure only changed rows are updated on reports in Power BI.

Blogs

T-SQL Tuesday #203: Risk and Reward

By

This is timely, as I’m currently on a boat in the Adriatic taking a...

dataMinds Connect 2026 – Slides & Scripts

By

You can find the slides and SQL scripts for my session “Spice up your...

How to Clear the SSMS Cache (SSMS 21 and Later)

By

How to Clear the SSMS Cache (SSMS 21 and Later) Updated...

Read the latest Blogs

Forums

Using CHOOSE()

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Using CHOOSE()

Re-Seeding a Broken Log Shipping Secondary (Without Touching the Primary)

By LukaMK

Comments posted to this topic are about the item Re-Seeding a Broken Log Shipping...

The DBA is Dead! Long Live the !

By Grant Fritchey

Comments posted to this topic are about the item The DBA is Dead! Long...

Visit the forum

Question of the Day

Using CHOOSE()

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