SQL String functions are built in functions. It is deterministic in nature which means that it always produces the same result when particular or specific input is provided under same state of database. String functions helps in manipulating string operations.
1.ASCII: It returns the ASCII code of the extreme left character in a character expression or string.
Syntax:
ASCII( Character expression )
Examples:
SELECT ASCII('A') AS A
--65
SELECT ASCII('B') AS B
--66
SELECT ASCII('S') AS S
--83
SELECT ASCII('SUNIL') AS SUNIL
--83
2.CHAR: It converts ASCII code value to character.
Syntax:
CHAR( numeric expression )
Examples:
SELECT CHAR('65') AS A
--A
SELECT CHAR('66') AS B
--B
SELECT CHAR('83') AS S
--S
NOTE: Numeric expression should be in between 0 and 255. If it is not within this range, NULL value will be returned.
SELECT CHAR(257)
-- NULL
3.CHARINDEX: It returns the starting position of the character expression present in another character expression. Basically it takes three arguments. The first argument is the character expression which need to be searched ,The second argument is the character expression in which the expression to be searched. The third argument is optional. It tells the starting position at which the search will begin.
Syntax:
CHARINDEX( character expression1, character expression2 [, starting position])
Examples:
SELECT CHARINDEX('IT','IT JUNCTION 4 ALL IT PEOPLE')
--1
SELECT CHARINDEX('IT','IT JUNCTION 4 ALL IT PEOPLE', 2 )
--19
4. LEFT: It returns specified number of characters from left part of the character expression. It takes two arguments. First argument is the string or character expression. Second argument is numeric expression which tells how many characters to be extracted from left.
Syntax:
LEFT( character expression , numeric expression )
Examples:
SELECT LEFT('Sunil',3) AS LEFT_Demo
-- Sun
--Declaring local variable of VARCHAR type
DECLARE @Name VARCHAR(50)
--Assigning value to the local variaible
SET @Name = 'Sunil Kumar'
--Using LEFT function to extract First Name
SELECT LEFT(@Name, CHARINDEX(' ', @Name) - 1) AS [FirstName]
--Sunil
5. RIGHT : It returns specified number of characters from right part of the character expression. It takes two arguments. First argument is the string or character expression. Second argument is numeric expression which tells how many characters to be extracted from right.
Syntax:
RIGHT( character expression , numeric expression )
Examples:
SELECT RIGHT('Sunil',3) AS RIGHT_Demo
-- nil
--Declaring local variable of VARCHAR type
DECLARE @Name VARCHAR(50)
--Assigning value to the local variaible
SET @Name = 'Sunil Kumar'
--Using RIGHT function to extract Last Name
SELECT RIGHT(@Name, CHARINDEX(' ', @Name) -1) AS [LastName]
--Kumar
6.REVERSE: REVERSE function reverse the string. It takes only one argument which is the string which need to be reversed.
Syntax:
REVERSE(String )
Syntax:
LEN( character expression )
Examples:
SELECT LEN('Sunil') AS LEN_Demo1
--5
SELECT LEN(' Sunil') AS LEN_Demo2
--10
SELECT LEN('Sunil ') AS LEN_Demo3
--5
SELECT LEN('Sunil Kumar') AS LEN_Demo4
--11
8. REPLACE: It replaces all the occurrences of a specified pattern of string with desired string in another string. It takes three arguments. The first argument is the source string. The second argument is the string which is to searched in source string and the third is the replacement string .
Syntax:
REPLACE( source string expression , search string , replacement string)
Examples:
SELECT REPLACE('XYZABCXYZABC','XYZ','ABC') AS REPLACE_Demo1
--ABCABCABCABC
SELECT REPLACE('Sea fish are found in sea','sea','River') AS REPLACE_Demo2
--River fish are found in River
9. STUFF: It deletes specified length of characters in the source string at the specified position and inserts another string at the specified position.
Syntax:
STUFF( source string expression ,length, start position, string)
Examples:
SELECT STUFF('Sunil Kumar',3,3,'man') AS STUFF_DEMO
--Suman Kumar
DECLARE @Date VARCHAR(20)
SET @Date = '20071988'
SELECT STUFF(STUFF(@Date,3,0,'/'),6,0,'/') AS [DD/MM/YYYY]
--20/07/1988
DECLARE @Time VARCHAR(20)
SET @Time = '1120'
SELECT STUFF(@Time,3,0,':') AS [HH:MM]
--11:20
10. SUBSTRING: It returns the part of the string. It takes three arguments. First argument is the source string or character or text. Second argument is the start position from where string will be returned. Third argument is the length which tells how many character to be returned from start position.
Syntax:
SUBSTRING( source string expression , start position, length)
SELECT SUBSTRING('sunil',3,5)
--nil SELECT SUBSTRING('SQLServer2008',10,4)
--2008 DECLARE @Name VARCHAR(20)
SET @Name='Sunil Kumar'
SELECT
SUBSTRING(@Name,1,CHARINDEX(' ',@Name)-1)AS FirstName,
SUBSTRING(@Name,CHARINDEX(' ',@Name)+1,LEN(@Name))AS LastName
11. RTRIM: RTRIM function removes the trailing spaces or blanks from the string or character expression.
Syntax:
RTRIM( string expression )
Examples:
SELECT RTRIM('Sunil Kumar ')
--Sunil Kumar
DECLARE @string_2_trim varchar(100);
SET @string_2_trim = 'At the end this sentence,six spaces are there. ';
SELECT @string_2_trim + ' Starting with next string.';
--At the end this sentence,six spaces are there. Starting with next string.
SELECT RTRIM(@string_2_trim) + ' Starting with next string.';
--At the end this sentence,six spaces are there. Starting with next string.
12. LTRIM: LTRIM function removes the leading spaces or blanks from the string or character expression.
Syntax:
LTRIM( string expression )
Examples:
SELECT LTRIM(' Sunil Kumar')
--Sunil Kumar
DECLARE @string_2_trim varchar(100);
SET @string_2_trim = 'First string without any space.';
SELECT @string_2_trim +' Second string with six space in beginning.';
--First string without any space. Second string with six space in beginning.
SELECT @string_2_trim +LTRIM(' Second string with six space in beginning.');
--First string without any space.Second string with six space in beginning.
13. SPACE: SPACE function returns string of repeated spaces. It takes integer expression as the argument which indicates number of spaces .
Syntax:
SPACE( integer expression )
14.UPPER: UPPER converts all lower case characters into upper case characters in a string.
Syntax:
UPPER( String )
SELECT UPPER('sunil kumar')
--SUNIL KUMAR
SELECT UPPER('Sunil Kumar')
--SUNIL KUMAR
15.LOWER: LOWER converts all upper case characters into lower case characters in a string.
Syntax:
LOWER( String )
16.REPLICATE: REPLICATE repeats string or character expression specified number of times.
Syntax:
REPLICATE(String,integer )
--SunilSunilSunilSunil
17.PATINDEX: PATINDEX returns the starting position of first occurrence of specified pattern in specified string. If the pattern is not found, zero is returned.
If you want to search particular pattern use '%' before and after the pattern. If you want pattern to be your first characters in the string or in a column, do not give '%'character in the beginning of the pattern. If you want pattern to be your last characters in the string or in a column, do not give '%'character in the end of the pattern.
Both CHARINDEX and PATINDEX is used to find the starting position of the first occurrence of pattern in a string. Both takes two arguments . The difference which lies between them is that we can use wildcard characters in pattern in PATINDEX but we can not use wildcard characters in CHARINDEX.
Syntax:
PATINDEX('%patteren_to_search%',string)
--1
SELECT PATINDEX('SUNIL%','SUNIL IT JUNCTION 4 ALL SUNIL')
--1
SELECT PATINDEX('%SUNIL','SUNIL IT JUNCTION 4 ALL SUNIL')
--25
Syntax:
ASCII( Character expression )
Examples:
SELECT ASCII('A') AS A
--65
SELECT ASCII('B') AS B
--66
SELECT ASCII('S') AS S
--83
SELECT ASCII('SUNIL') AS SUNIL
--83
ASCII Illustrations |
Syntax:
CHAR( numeric expression )
Examples:
SELECT CHAR('65') AS A
--A
SELECT CHAR('66') AS B
--B
SELECT CHAR('83') AS S
--S
SELECT CHAR(257)
-- NULL
3.CHARINDEX: It returns the starting position of the character expression present in another character expression. Basically it takes three arguments. The first argument is the character expression which need to be searched ,The second argument is the character expression in which the expression to be searched. The third argument is optional. It tells the starting position at which the search will begin.
Syntax:
CHARINDEX( character expression1, character expression2 [, starting position])
Examples:
SELECT CHARINDEX('IT','IT JUNCTION 4 ALL IT PEOPLE')
--1
SELECT CHARINDEX('IT','IT JUNCTION 4 ALL IT PEOPLE', 2 )
--19
Syntax:
LEFT( character expression , numeric expression )
Examples:
SELECT LEFT('Sunil',3) AS LEFT_Demo
-- Sun
--Declaring local variable of VARCHAR type
DECLARE @Name VARCHAR(50)
--Assigning value to the local variaible
SET @Name = 'Sunil Kumar'
--Using LEFT function to extract First Name
SELECT LEFT(@Name, CHARINDEX(' ', @Name) - 1) AS [FirstName]
--Sunil
5. RIGHT : It returns specified number of characters from right part of the character expression. It takes two arguments. First argument is the string or character expression. Second argument is numeric expression which tells how many characters to be extracted from right.
Syntax:
RIGHT( character expression , numeric expression )
Examples:
SELECT RIGHT('Sunil',3) AS RIGHT_Demo
-- nil
--Declaring local variable of VARCHAR type
DECLARE @Name VARCHAR(50)
--Assigning value to the local variaible
SET @Name = 'Sunil Kumar'
--Using RIGHT function to extract Last Name
SELECT RIGHT(@Name, CHARINDEX(' ', @Name) -1) AS [LastName]
--Kumar
6.REVERSE: REVERSE function reverse the string. It takes only one argument which is the string which need to be reversed.
Syntax:
REVERSE(String )
Examples:
SELECT REVERSE('IT JUNCTION 4 ALL')
--LLA 4 NOITCNUJ TI
DECLARE @Name VARCHAR(100) = 'Sunil Kumar Gupta'
SELECT RIGHT(@Name, CHARINDEX(' ', REVERSE(@Name)) - 1) AS [LastName]
GO
--Gupta
DECLARE @CheckPalindrome VARCHAR(100) = 'Malayalam'
SELECT CASE WHEN @CheckPalindrome=REVERSE(@CheckPalindrome)
THEN 'YES'
ELSE 'NO' END AS CheckPalindrome
GO
--YES
7. LEN: It returns the number of characters in a character expression. It takes character expression or string as an argument. Leading space (space that appears at the start of the string ) is taken into consideration while trailing space (space that appears at the end of the string )is ignored.SELECT REVERSE('IT JUNCTION 4 ALL')
--LLA 4 NOITCNUJ TI
DECLARE @Name VARCHAR(100) = 'Sunil Kumar Gupta'
SELECT RIGHT(@Name, CHARINDEX(' ', REVERSE(@Name)) - 1) AS [LastName]
GO
--Gupta
DECLARE @CheckPalindrome VARCHAR(100) = 'Malayalam'
SELECT CASE WHEN @CheckPalindrome=REVERSE(@CheckPalindrome)
THEN 'YES'
ELSE 'NO' END AS CheckPalindrome
GO
--YES
Syntax:
LEN( character expression )
Examples:
SELECT LEN('Sunil') AS LEN_Demo1
--5
SELECT LEN(' Sunil') AS LEN_Demo2
--10
SELECT LEN('Sunil ') AS LEN_Demo3
--5
SELECT LEN('Sunil Kumar') AS LEN_Demo4
--11
8. REPLACE: It replaces all the occurrences of a specified pattern of string with desired string in another string. It takes three arguments. The first argument is the source string. The second argument is the string which is to searched in source string and the third is the replacement string .
Syntax:
REPLACE( source string expression , search string , replacement string)
Examples:
SELECT REPLACE('XYZABCXYZABC','XYZ','ABC') AS REPLACE_Demo1
--ABCABCABCABC
SELECT REPLACE('Sea fish are found in sea','sea','River') AS REPLACE_Demo2
--River fish are found in River
9. STUFF: It deletes specified length of characters in the source string at the specified position and inserts another string at the specified position.
Syntax:
STUFF( source string expression ,length, start position, string)
Examples:
SELECT STUFF('Sunil Kumar',3,3,'man') AS STUFF_DEMO
--Suman Kumar
DECLARE @Date VARCHAR(20)
SET @Date = '20071988'
SELECT STUFF(STUFF(@Date,3,0,'/'),6,0,'/') AS [DD/MM/YYYY]
--20/07/1988
DECLARE @Time VARCHAR(20)
SET @Time = '1120'
SELECT STUFF(@Time,3,0,':') AS [HH:MM]
--11:20
10. SUBSTRING: It returns the part of the string. It takes three arguments. First argument is the source string or character or text. Second argument is the start position from where string will be returned. Third argument is the length which tells how many character to be returned from start position.
Syntax:
SUBSTRING( source string expression , start position, length)
SELECT SUBSTRING('sunil',3,5)
--nil SELECT SUBSTRING('SQLServer2008',10,4)
--2008 DECLARE @Name VARCHAR(20)
SET @Name='Sunil Kumar'
SELECT
SUBSTRING(@Name,1,CHARINDEX(' ',@Name)-1)AS FirstName,
SUBSTRING(@Name,CHARINDEX(' ',@Name)+1,LEN(@Name))AS LastName
11. RTRIM: RTRIM function removes the trailing spaces or blanks from the string or character expression.
Syntax:
RTRIM( string expression )
Examples:
SELECT RTRIM('Sunil Kumar ')
--Sunil Kumar
DECLARE @string_2_trim varchar(100);
SET @string_2_trim = 'At the end this sentence,six spaces are there. ';
SELECT @string_2_trim + ' Starting with next string.';
--At the end this sentence,six spaces are there. Starting with next string.
SELECT RTRIM(@string_2_trim) + ' Starting with next string.';
--At the end this sentence,six spaces are there. Starting with next string.
12. LTRIM: LTRIM function removes the leading spaces or blanks from the string or character expression.
Syntax:
LTRIM( string expression )
Examples:
SELECT LTRIM(' Sunil Kumar')
--Sunil Kumar
DECLARE @string_2_trim varchar(100);
SET @string_2_trim = 'First string without any space.';
SELECT @string_2_trim +' Second string with six space in beginning.';
--First string without any space. Second string with six space in beginning.
SELECT @string_2_trim +LTRIM(' Second string with six space in beginning.');
--First string without any space.Second string with six space in beginning.
13. SPACE: SPACE function returns string of repeated spaces. It takes integer expression as the argument which indicates number of spaces .
Syntax:
SPACE( integer expression )
Examples:
SELECT 'Sunil'+'Kumar'
--SunilKumar
SELECT 'Sunil'+SPACE(1)+'Kumar'
--Sunil Kumar
SELECT 'Hello'+SPACE(2)+'How'+SPACE(1)+'are'+SPACE(1)+'you'+SPACE(1)+'?'
--Hello How are you ?SELECT 'Sunil'+'Kumar'
--SunilKumar
SELECT 'Sunil'+SPACE(1)+'Kumar'
--Sunil Kumar
SELECT 'Hello'+SPACE(2)+'How'+SPACE(1)+'are'+SPACE(1)+'you'+SPACE(1)+'?'
14.UPPER: UPPER converts all lower case characters into upper case characters in a string.
Syntax:
UPPER( String )
Examples:
SELECT UPPER('sunil kumar')
--SUNIL KUMAR
SELECT UPPER('Sunil Kumar')
--SUNIL KUMAR
15.LOWER: LOWER converts all upper case characters into lower case characters in a string.
Syntax:
LOWER( String )
16.REPLICATE: REPLICATE repeats string or character expression specified number of times.
Syntax:
REPLICATE(String,integer )
Examples:
SELECT REPLICATE('Sunil',4)--SunilSunilSunilSunil
If you want to search particular pattern use '%' before and after the pattern. If you want pattern to be your first characters in the string or in a column, do not give '%'character in the beginning of the pattern. If you want pattern to be your last characters in the string or in a column, do not give '%'character in the end of the pattern.
Both CHARINDEX and PATINDEX is used to find the starting position of the first occurrence of pattern in a string. Both takes two arguments . The difference which lies between them is that we can use wildcard characters in pattern in PATINDEX but we can not use wildcard characters in CHARINDEX.
Syntax:
PATINDEX('%patteren_to_search%',string)
Examples:
SELECT PATINDEX('%NCT%','SUNIL IT JUNCTION 4 ALL SUNIL')
--12
SELECT PATINDEX('%SUNIL%','SUNIL IT JUNCTION 4 ALL SUNIL')SELECT PATINDEX('%NCT%','SUNIL IT JUNCTION 4 ALL SUNIL')
--12
--1
SELECT PATINDEX('SUNIL%','SUNIL IT JUNCTION 4 ALL SUNIL')
--1
SELECT PATINDEX('%SUNIL','SUNIL IT JUNCTION 4 ALL SUNIL')
--25