Mastering SQL A Step-by-Step Guide to Splitting Columns from Delimited Strings

Mastering SQL: A Step-by-Step Guide to Splitting Columns from Delimited Strings


Effective Techniques to Split Delimited Strings into SQL Rows and Columns


In the realm Of SQL database management, we frequently tackle semi-structured data. One common task involves breaking down long, comma-separated strings into distinct rows and columns.

Real-World Application of String Conversion

During system development, you might encounter data in unconventional formats. For example, imagine a single string containing multiple records, with commas separating each field but no clear record delimiter. 

Consider this string:

1181 Hague St.,Sheffield,2016-08-13,…,904 White Milton Freeway,Crawley,2018-08-17

This data follows a pattern, presenting three fields in succession: address, city, and date.

Deciphering the Process

To start, you would use the Split function on the comma to generate a single-column table:

Split(inputString.Text, ",")

Next, you aim to transform this single column into three. You accomplish this by employing the Sequence function, which assigns an ordinal row number to the split data:

Sequence(CountRows(Split(inputString.Text,",")), 1,3)

Final Steps: String Conversion into Rows & Columns

Now, you bring in the ForAll function to iterate over the Sequence results. For every row in the sequence, the Index function retrieves the corresponding item from the initial Split data:

              AddressField: Index(entries,Value).Value,
              CityField: Index(entries,Value +1).Value,
              DateField: Index(entries,Value +2).Value


  1. With function
  2. ForAll function


Some Relevant Insights

When splitting columns from delimited strings in SQL, a common scenario involves importing data that’s not in a standard relational format. This situation is frequent with CSV files or log data that use a delimiter, such as a comma, to separate values. SQL provides several functions to handle such tasks, including STRING_SPLIT in Microsoft SQL Server or SPLIT_PART in PostgreSQL.

While these built-in functions offer a starting point, mastering the art of splitting columns from delimited strings in SQL involves a more nuanced approach, especially when dealing with non-uniform data or strings that require dynamic separation.

Advanced SQL queries or stored procedures may be written to iteratively parse and assign string segments to specific columns, ensuring the semi-structured data is converted into a format suitable for SQL database schemas. Moreover, understanding the principles behind these operations enables SQL practitioners to write more efficient and error-resistant code for data manipulation and integration tasks.


Handling semi-structured data can pose challenges in database organization. This guide has highlighted a structured approach to break down such data into clear rows and columns using SQL. Use this knowledge to streamline your data structuring processes efficiently.

Stumble upon a challenge or need more comprehensive technical aid? Don’t hesitate! Our specialists are geared up to assist. Reach out to us, and we promise a tailored solution.

About The Author