Technical Article

Function to Split a Delimited String into a Table

This function splits a delimited string (up to 4000 characters long) into a single column table. The delimiter can be specified at the time of execution. If not specified, the delimiter defaults to a comma. The default length of each value is 100, but that can easily be changed.An example for usage:DECLARE @string NVARCHAR(4000)DECLARE @instruments […]

(6)

You rated this post out of 5. Change rating

2007-05-25 (first published: )

5,684 reads

Technical Article

Drop a Column and its Constraints and Indexes

Drops the specified column from the specified table as well as any constraints and indexes that depend on the column. By default the script will just find the corresponding column, constraints, and indexes.Comes in handy for patching databases.

(2)

You rated this post out of 5. Change rating

2007-01-24 (first published: )

2,457 reads

Technical Article

Backup any/all Databases (Native AND LiteSpeed friendly)

This script can run backups for any/all databases using both SQL native and Quest's SQL LiteSpeed product. It includes options for Complete (Full), Differential, and Transaction Log backups (File and File Group backups will be coming soon). It will also clean up old backups and the msdb tables accordingly.See script for a full parameter list.NOTE: […]

(3)

You rated this post out of 5. Change rating

2006-10-25 (first published: )

5,180 reads

Technical Article

Function to return the SQL Build Number

This function returns the SQL Build Number as a nvarchar(20) string. i.e. '8.00.760' @@Version is great, but super long, and the formatting of the string has changed over the years. This helps me find out what build of SQL I'm working on in a quick and efficient manner. The script includes the drop statement as […]

(1)

You rated this post out of 5. Change rating

2006-08-09 (first published: )

1,053 reads

Technical Article

Function to return the SQL Version Number

This function returns the SQL Build Number as an int. i.e. 7, 8, or 9. @@Version is great, but super long, and the formatting of the string has changed over the years. This helps me find out what version of SQL I'm working on in a quick and efficient manner. The script includes the drop […]

You rated this post out of 5. Change rating

2006-08-08 (first published: )

1,259 reads

Technical Article

Stored Procedure to get Job History (with Steps)

This procedure returns the job history for any jobs run on a given day. The parameter should be entered in mm/dd/yyyy format surrounded by single quotes. I use it to produce a report of any jobs that failed on any given day.It should be created on the MSDB database.Example: EXEC usp_job_history '10/02/2004' This is my […]

You rated this post out of 5. Change rating

2004-10-04

2,186 reads

Blogs

T-SQL Tuesday #192: What career risks have you taken?

By

I’m honored to be hosting T-SQL Tuesday — edition #192. For those who may...

AI: Blog a Day – Day 3: LLM Models – Open Source vs Closed Source

By

Continuing from Day 2 , we learned introduction on Generative AI and Agentic AI,...

How to Parameterize Fabric Linked Services in Azure Data Factory for Azure Devops Deployment

By

Quite the title, so let me set the stage first. You have an Azure...

Read the latest Blogs

Forums

how to write this query?

By water490

hi everyone I am not sure how to write the query that will produce...

Rollback vs. Roll Forward

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Rollback vs. Roll Forward

Foreign Keys - Foes or Friend?

By utsav

Comments posted to this topic are about the item Foreign Keys - Foes or...

Visit the forum

Question of the Day

Fun with JSON I

I have some data in a table:

CREATE TABLE #test_data
(
    id INT PRIMARY KEY,
    name VARCHAR(100),
    birth_date DATE
);

-- Step 2: Insert rows  
INSERT INTO #test_data
VALUES
(1, 'Olivia', '2025-01-05'),
(2, 'Emma', '2025-03-02'),
(3, 'Liam', '2025-11-15'),
(4, 'Noah', '2025-12-22');
If I run this query, how many rows are returned?
SELECT *
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t;

See possible answers