Introduction
I would like to write the series of articles about useful User-Defined Functions grouped by the following categories:In this article, I wrote some useful String User-Defined Functions.
String UDFs
These scalar User-Defined Functions perform an operation on a string input value and return a string or numeric value.StrIns
Inserts set of characters into another set of characters at a specified starting point.Syntax
StrIns ( character_expression, start, character_expression )Arguments
character_expression - an expression of character data. character_expression can be a constant, variable, or column of character data.start - an integer value that specifies the location to begin insertion. If start or length is negative, a null string is returned. If start is longer than the first character_expression, a null string is returned.
Return Types
nvarcharThe function's text:
CREATE FUNCTION StrIns |
Examples
This example returns a character string created by inserting the second string starting at position 2 (at b) into the first string.SELECT dbo.StrIns('abcdef', 2, 'ijklmn')
Here is the result set:
------------
aijklmnbcdef
(1 row(s) affected)
StrDel
Deletes a specified length of characters at a specified starting point.Syntax
StrDel ( character_expression, start, length )Arguments
character_expression - an expression of character data. character_expression can be a constant, variable, or column of character data.start - an integer value that specifies the location to begin deletion. If start or length is negative, a null string is returned. If start is longer than the first character_expression, a null string is returned.
length - an integer that specifies the number of characters to delete. If length is longer than the first character_expression, deletion occurs up to the last character in the last character_expression.
Return Types
nvarcharThe function's text:
CREATE FUNCTION StrDel |
Examples
This example returns a character string created by deleting three characters from the first string (abcdef) starting at position 2 (at b).SELECT dbo.StrDel('abcdef', 2, 3)
Here is the result set:
---
aef
(1 row(s) affected)
StrSeparate
Inserts a specified character into the given string after every n-th character (from the end of the string).Syntax
StrSeparate ( character_expression, term, number )Arguments
character_expression - an expression of character data. character_expression can be a constant, variable, or column of character data.term - a character.
number - an integer.
Return Types
nvarcharThe function's text:
CREATE FUNCTION StrSeparate |
Examples
This example returns a character string created by inserting the space character after every three characters of the specified string (from the end of the string).SELECT dbo.StrSeparate('12345678', ' ', 3)
Here is the result set:
----------
12 345 678
(1 row(s) affected)
StrCHARINDEX
Returns the starting position of the n-th entering of the specified expression in a character string.Syntax
CHARINDEX ( expression1, expression2, start_location, number)Arguments
expression1 - an expression containing the sequence of characters to be found. expression1 is an expression of the short character data type category.expression2 - an expression, usually a column searched for the specified sequence. expression2 is of the character string data type category.
start_location - the character position to start searching for expression1 in expression2. If start_location is a negative number, or is zero, the search starts at the beginning of expression2.
number - an integer.
Return Types
intThe function's text:
CREATE FUNCTION StrCHARINDEX |
Examples
SELECT dbo.StrCHARINDEX('12', '2312451267124', 0, 2)Here is the result set:
-----------
7
(1 row(s) affected)
StrREPLACE
Replaces all occurrences of the second given string expression in the first string expression with a third expression starting from the start_location position.Syntax
REPLACE('string_expression1','string_expression2','string_expression3',@start_location)Arguments
'string_expression1' - the string expression to be searched.'string_expression2' - the string expression to try to find.
'string_expression3' - the replacement string expression.
start_location - the character position to start replacing.
Return Types
nvarcharThe function's text:
CREATE FUNCTION StrREPLACE |
Examples
SELECT dbo.StrREPLACE('12345678912345', '23', '**', 4)Here is the result set:
-------------------
1234567891**45
(1 row(s) affected)
StrREVERSE
Returns the reverse of a character expression starting at the specified position.Syntax
REVERSE ( character_expression, start_location )Arguments
character_expression - an expression of character data. character_expression can be a constant, variable, or column of character data.start_location - the character position to start reversing.
Return Types
nvarcharThe function's text:
CREATE FUNCTION StrREVERSE |
Examples
SELECT dbo.StrREVERSE('123456789', 3)Here is the result set:
-------------------
129876543
(1 row(s) affected)