A Beginner’s Guide to SQL String Functions

There are quite a few string functions in the SQL language, and today I will present most of them. To be more specific, SQL has the following string functions:

SQL has the following string functions:

  • ASCII
  • CHAR
  • CHARINDEX
  • CONCAT
  • CONCAT_WS
  • DATALENGTH
  • DIFFERENCE
  • FORMAT
  • LEFT
  • LEN
  • LOWER
  • LTRIM
  • NCHAR
  • PATINDEX
  • QUOTENAME
  • REPLACE
  • REPLICATE
  • REVERSE
  • RIGHT
  • RTRIM
  • SOUNDEX
  • SPACE
  • STR
  • STUFF
  • SUBSTRING
  • TRANSLATE
  • TRIM
  • UNICODE
  • UPPER

To help you know what each of these does, I’ll present them one by one:

ASCII

The ASCII SQL function returns the ASCII (American Standard Code for Information Interchange) value of the first character in a field.

SELECT ASCII(StudentName) 
FROM Students

This example will produce the number 72 if the StudentName field contained the string “Hannes”. Why 72? 72 is the ASCII code for H.

CHAR

The CHAR SQL function is the opposite of the ASCII function in that it returns the character based on n ASCII number.

SELECT CHAR(72) 

In this example, the number 72 is passed to CHAR(). This will return the character H.

CHARINDEX

The CHARINDEX SQL function returns the index of a character in a certain string.

SELECT CHARINDEX('H', 'Hannes') --Returns 1

This example searches for the character ‘H’, and returns the index value for its location. This will result in 1. If the searched were changed to look for the character ‘s’, it would returned 6.

CONCAT

The CONCAT SQL function adds two strings together.

SELECT CONCAT('Hannes', ' du Preez') --Returns Hannes du Preez

This example joins the two strings ‘Hannes’ and ‘ du Preez’ together, producing a single string ‘Hannes du Preez’.

DATALENGTH

The DATALENGTH SQL function returns the length of an expression.

SELECT DATALENGTH('Hannes') --Returns 6

This example shows the use of DATALENGTH in action. It determines the length of the string ‘Hannes’ and returns the result, which is 6.

DIFFERENCE

The DIFFERENCE SQL function compares two SOUNDEX values, an example follows. More on SOUDNEX a bit later. The DIFFERENCE SQL function returns an integer between 1 and 4. 1 being the weakest, 4 being the strongest. The following example returns 2, which indicates that there is some similarity, but for the most part these are different sounding words.

SELECT DIFFERENCE('Door', 'Floor') --Returns 2

FORMAT

The FORMAT SQL function formats a value with the specified format.

SELECT FORMAT(123456789, '#-###-####') --Returns 1-234-5789

This example formats a group of numbers to look like a standard telephone number in the United States.

LEFT

The LEFT SQL function extracts a specified amount of characters from a string.

SELECT LEFT('du Preez', 5) --Returns du Pr

In this example you take 5 characters from the left position. Note: this also includes spaces which are considered characters.

LOWER

The LOWER SQL function converts a string to lowercase, an Example follows:

SELECT LOWER('Hannes du Preez') 

This example would simply force everything to lower case, resulting in ‘hannes du preez’.

LTRIM

The LTRIM SQL function removes leading spaces from a specified string. In the next example, you will see that there is a bunch of spaces in front of the actual string. LTRIM removes all of them and returns the string.

SELECT LTRIM('     Password') --Returns 'Password'

In this example, you can see that there is a bunch of spaces in front of the actual string. LTRIM removes all of them and returns the string.

QUOTENAME

The LTRIM SQL function returns string with delimiters added. It adds brackets, depending on which bracket type you supply. Any of these are allowed:

  • []
  • ()
  • ><
  • {}
  • `
SELECT QUOTENAME('Hannes', '''') --Returns 'Hannes'

This example shows how to add single quote marks to the string.

REPLACE

The REPLACE SQL function replaces occurrences within a string with a new string.

SELECT REPLACE('Hannes', 'n', 'd') --Returns 'Haddes'

In the following example all the occurrences of the character ‘n’ are replaced with the character ‘d’.

REPLICATE

The REPLACE SQL function repeats a string. Shown next, the string ‘databasejournal.com ’ is replaced three times.

SELECT REPLICATE('databasejournal.com ', 3) --Returns databasejournal.com databasejournal.com databasejournal.com

REVERSE

The REVERSE SQL function reverses a string, as shown next:

SELECT REVERSE('Hannes du Preez') --Returns zeerP ud sennaH

As you can see in this example, the characters are simply reversed.

RIGHT

Like the LEFT SQL function, the RIGHT SQL function also extracts a specified amount of characters from a string but starts from right.

SELECT RIGHT('du Preez', 5) --Returns Preez

This example returns the 5 rightmost characters of the string that is received.

RTRIM

Like the LTRIM SQL function, the RTRIM SQL function removes spaces from a specified string, but from the back. These are known as trailing spaces. The following example shows a string ending with many spaces, RTRIM gets rid of them.

SELECT RTRIM('Password     ') --Returns 'Password'

SOUNDEX

The SOUNDEX SQL function returns a four-character code which to evaluate the similarity of how two expressions sound.

SELECT SOUNDEX('Floor'), SOUNDEX('Door') 

This example will return F460 for ‘Floor’ and D600 for ‘Door’. These two values can then be compared to determine if the words sound alike.

STR

The STR SQL function converts a number to a string.

SELECT STR(150) --Returns 150, but as a string

In this example, the number 150 is supplied, but with the help of the STR function it is converted to a string.

STUFF

The STUFF SQL function deletes a part of a string and then inserts another part into the deleted string’s place, at a specified position.

SELECT STUFF('Hannes du Preez', 1, 6, 'Ockert') --Returns Ockert du Preez

In this example, a starting string of my name is used (‘Hannes du Preez’). Starting in position 1 of this starting string (the second parameter), the next 6 characters (the third value passed to STUFF) are replaced with the string ‘Ockert’. The result is that ‘Hannes’ is replaced with ‘Ockert’.

SUBSTRING

The SUBSTRING SQL function extracts some characters from a string.

SELECT SUBSTRING('Hannes du Preez', 8, 2)  --Returns du

This example extracts the substring ‘du’. You supply the position where the extraction should start (the second parameter to SUBSTRING), along with the number of characters it should take (the third parameter).

TRIM

The TRIM SQL function removes leading and trailing spaces from a string. The following example contains lots of spaces in front and back of the string, TRIM removes them all.

SELECT TRIM('     Hannes du Preez    ')  --Returns Hannes du Preez

UPPER

The UPPER SQL function converts a string to uppercase. The following example changes all the letters in my name to uppercase.

SELECT UPPER('Hannes du Preez') -–HANNES DU PREEZ

Conclusion

This was a quick overview of the most common string SQL String functions. As you work with SQL, you will find many of these to be useful. As a note, while most of the examples used hardcoded values, these will generally be used with variables as you select data from various sources.

# # #

Get the Free Newsletter!

Subscribe to Cloud Insider for top news, trends & analysis

Latest Articles