# PostgreSQL STRING_TO_TABLE() Function With Examples

> The STRING_TO_TABLE() function accepts a string and a delimiter as arguments and splits the given string based on the specified delimiter.

PostgreSQL provides a built-in string function named **STRING_TO_TABLE()** that is used to convert or split the given string into a set based on the specified delimiter/splitter. For instance, using the **STRING_TO_TABLE()** function, a sentence can be divided into words. It can be used as an alternative to the REGEXP_SPLIT_TO_TABLE().

This write-up explains how to use the **STRING_TO_TABLE()** function in PostgreSQL using practical examples.

 **How to Use the STRING_TO_TABLE() Function in Postgres?**

The STRING_TO_TABLE() function accepts a string and a delimiter as arguments and splits the given string based on the specified delimiter. Here is the syntax:
    
    
    STRING_TO_TABLE(str, delimiter);

The delimiter can be any character, a white space, a comma, etc.

 **Example 1: How Does the STRING_TO_TABLE() Function Work in Postgres?**

The example below accepts a string as an argument and splits it into substrings based on the specified delimiter:
    
    
    SELECT STRING_TO_TABLE('Hello Welcome to USA', ' ');

In the above query, white space is used as a delimiter:

The given string is divided into words using the space as a delimiter.

 **Example 2: How to Use the STRING_TO_TABLE() Function Using the Null?**

In the following example, NULL will be used as the delimiter, which will split the given string and specify each character on a new line:
    
    
    SELECT STRING_TO_TABLE('Hello Welcome to USA', NULL);

The output shows that the stated function accepts a string and retrieves the set of characters.

 **Example 3: How Does the STRING_TO_TABLE() Function Work on the Table’s Data?**

We will use the “employee_information” table that has already been created in the database:
    
    
    SELECT * FROM employee_information;

Let’s utilize the STRING_TO_TABLE() function to split the employees email ids from the “@” symbol:
    
    
    SELECT STRING_TO_TABLE(e_email, '@') 
    FROM employee_information;

The output shows that the employees’ emails have been divided based on the specified delimiter, i.e., “@”.

 **Conclusion**

The STRING_TO_TABLE() function accepts a string and a delimiter as arguments and splits the given string based on the specified delimiter. The delimiter can be any character, a white space, a comma, NULL, etc. The NULL value can be used as the delimiter to split the given string into individual characters. This write-up explained the usage of the STRING_TO_TABLE() function with suitable examples.

---
[View this page online](https://www.commandprompt.com/education/postgresql-string_to_table-function-with-examples/)