4 способи розділити рядок за роздільником у SQL

Чимало фахівців з SQL прагнуть розібратися з методами розділення текстових рядків у базах даних SQL. Проте, іноді цей процес може викликати певні труднощі. У цій статті ми розглянемо декілька простих та зрозумілих способів, як можна розділити рядок SQL, використовуючи певний роздільник. Уважно ознайомтеся з наведеними кроками, щоб успішно розбити SQL рядки у вашому сервері SQL.

Чотири методи розділення рядка за роздільником в SQL

Існує чотири різні підходи, за допомогою яких можна розбити значення рядка, використовуючи роздільники. Ви можете скористатися будь-яким з цих методів, застосовуючи відповідну функцію для отримання бажаного результату у вашому SQL сервері. Розгляньмо їх детальніше!

Метод 1: Стандартне розділення рядка в SQL

Це один з найпростіших методів, який можна застосувати для розділення рядка за допомогою роздільників. Цей метод передбачає використання функції SPLIT(). Ця функція приймає як аргументи сам рядок та роздільник. Рядок, в свою чергу, поділяється на окремі частини на основі заданого роздільника.

Синтаксис:

SPLIT(значення, роздільник)

1. За замовчуванням, функція поділить значення рядка, використовуючи кому (,) як роздільник. Але, необхідно пам’ятати, що потрібно вказати відповідний роздільник для байтів.

Приклад:

SELECT
 SPLIT('1,2,3,4,5,6,7', ',') AS arr;

Результат:

arr
"[1,2,3,4,5,6,7]"

2. Якщо вказано порожній роздільник, функція поверне масив символів UTF-8 з рядкового значення. Розділення відбувається за пробілом, який в цьому випадку виступає як роздільник.

Приклад (масив рядків):

SELECT
 SPLIT('p q r s t u v', ' ') AS arr;

Результат:

arr
"[p,q,r,s,t,u,v]"

3. Якщо ж виконується функція з порожнім рядком, на виході отримаємо порожній масив.

Приклад:

SELECT
 SPLIT('', '') AS arr;

Результат:

arr
[]

Метод 2: Розділення рядка в SQL Server

В SQL Server для розділення рядків можна використовувати функцію STRING_SPLIT().

Синтаксис:

STRING_SPLIT (рядок , роздільник )

Приклад:

SELECT
 VALUE
FROM
 STRING_SPLIT('m,n,o,p,q,r', ',');

Результат:

VALUE
--------------------
m
n
o
p
q
r

Метод 3: Розділення рядка в PostgreSQL

За допомогою функції SPLIT_PART() можна розділити будь-який рядок у SQL. Ця функція в PostgreSQL приймає рядок для розділення та роздільник. Крім того, вона повертає задану частину рядка.

Примітка: Параметр позиції повинен бути додатнім цілим числом, яке починається з 1.

Синтаксис:

SPLIT_PART(рядок, роздільник, позиція)

Приклад:

select split_part('h,e,l,l,o', ',', 3);

Результат:

split_part
l

Метод 4: Розділення рядка в MySQL

Для розділення рядків в MySQL використовується функція SUBSTRING_INDEX(). Вона приймає рядок, роздільник та кількість рядків як аргументи і повертає кількість рядків, залежно від кількості, розділених наданим роздільником.

Синтаксис:

SUBSTRING_INDEX(рядок, роздільник, кількість)

Приклад:

SELECT SUBSTRING_INDEX('q,w,e,r,t,y', ',', 6);

Результат:

q,w,e,r,t,y

***

Сподіваємося, що ви зрозуміли чотири наведені методи розділення рядка SQL за допомогою роздільника, а наданий синтаксис стане вам у нагоді. Якщо у вас є питання щодо цієї статті або пропозиції щодо інших тем, які ви хотіли б побачити на сайті, будь ласка, напишіть їх у розділі коментарів нижче.