STUFF Function in SQL Server with Example

watch_later 2/04/2025

SQL Server provides various built-in functions to manipulate and process data efficiently. One such function is the STUFF function, which is commonly used to modify string values by inserting or replacing a portion of the string. This article explores the STUFF function in SQL Server with detailed explanations, syntax, examples, and practical use cases.

For a more detailed explanation, you can refer to SQL Server STUFF() Function With Example.

What is the STUFF Function in SQL Server?

The STUFF function in SQL Server is used to delete a specified length of characters from a given string and then insert another string at the specified position. This function is particularly useful in scenarios where string modification is required.

Syntax of STUFF Function

STUFF (original_string, start_position, length_to_delete, string_to_insert)

Parameters:

  • original_string: The string in which modifications will be made.
  • start_position: The position in the string where the modification begins.
  • length_to_delete: The number of characters to delete from the original string.
  • string_to_insert: The new string to be inserted at the specified position.

STUFF Function Example in SQL Server

Basic Example:

Let's replace a portion of a string using the STUFF function.

SELECT STUFF('Hello Nikunj Satasiya', 7, 6, 'World') AS ModifiedString;

Output:

ModifiedString
Hello World Satasiya

Explanation:

  • The function starts modifying from position 7.
  • It deletes 6 characters (Nikunj).
  • It inserts 'World', resulting in 'Hello World Satasiya'.

Using STUFF Function with Table Data

Consider a table named Authors with the following data:

AuthorID Name
1 Nikunj Satasiya
2 John Doe
3 Jane Smith

We need to update author names by replacing the last name with 'Updated'.

SELECT AuthorID, STUFF(Name, CHARINDEX(' ', Name) + 1, LEN(Name) - CHARINDEX(' ', Name), 'Updated') AS ModifiedName
FROM Authors;

Output:

AuthorID ModifiedName
1 Nikunj Updated
2 John Updated
3 Jane Updated

Explanation:

  • CHARINDEX(' ', Name) finds the position of the space.
  • The function replaces the last name with 'Updated'.

Practical Use Cases of STUFF Function

1. Formatting Phone Numbers

SELECT STUFF(STUFF('9999999999', 4, 0, '-'), 8, 0, '-') AS FormattedNumber;

Output:

FormattedNumber
999-999-9999

2. Removing and Inserting Characters in Usernames

SELECT STUFF('nikunj_satasiya_123', 7, 9, 'admin') AS ModifiedUsername;

Output:

ModifiedUsername
nikunj_admin_123

3. Generating Comma-Separated Values

We can use STUFF to generate a CSV list of values:

SELECT STUFF((SELECT ',' + Name FROM Authors FOR XML PATH('')), 1, 1, '') AS AuthorList;

Output:

AuthorList
Nikunj Satasiya,John Doe,Jane Smith

For similar string manipulation techniques, check out:

Difference Between STUFF and REPLACE Functions

Feature STUFF REPLACE
Modifies part of a string Yes Yes
Deletes specific characters Yes No
Inserts new characters Yes No
Works with dynamic positions Yes No

Conclusion

The STUFF function in SQL Server is a powerful tool for modifying string data by removing and inserting characters dynamically. It is widely used in formatting, data manipulation, and generating structured outputs. By understanding and implementing STUFF in various scenarios, SQL developers can enhance their query capabilities and improve data processing efficiency.

Codingvila provides articles and blogs on web and software development for beginners as well as free Academic projects for final year students in Asp.Net, MVC, C#, Vb.Net, SQL Server, Angular Js, Android, PHP, Java, Python, Desktop Software Application and etc.

If you have any questions, contact us on info.codingvila@gmail.com

sentiment_satisfied Emoticon