PostgreSQL Приклад функції SUBSTRING() із регулярним виразом
Що таке PostgreSQL Підрядок?
Команда PostgreSQL Функція substring допомагає видобувати та повертати частину рядка. Замість того, щоб повертати весь рядок, він повертає лише його частину.
синтаксис
Команда PostgreSQL функція substring має такий синтаксис:
substring( string [from starting_position] [for length] )
параметри
ІМ'Я | Опис |
---|---|
рядок | Вихідний рядок, тип даних якого varchar, char, string тощо. |
початкова_позиція | Це необов'язковий параметр. Він позначає місце, де почнеться вилучення рядка. Якщо ви опустите цей параметр, вилучення почнеться з позиції 1, яка є першим символом у рядку. |
Це необов'язковий параметр. Він позначає кількість символів, які потрібно витягти з рядка. Якщо ви опустите цей параметр, функція витягне з початкової позиції до кінця рядка. |
прикладів
У цьому прикладі ми хочемо витягти перші 4 символи зі слова Guru99:
SELECT substring('Guru99' for 4);
Команда поверне наступне:
Ми не вказали початкову позицію, тому вилучення підрядка починається з позиції 1. Щоб повернути вищезазначене, було вилучено 4 символи.
У наступному прикладі показано, як вказати початкову позицію:
SELECT substring('Guru99' from 1 for 4);
Команда поверне наступне:
Ми вказали, що вилучення підрядка має починатися з позиції 1, а вилучаються 4 символи.
Витягнемо 99 із рядка Guru99:
SELECT substring('Guru99' from 5);
Команда поверне наступне:
Ми вказали початкову позицію як 5. Оскільки кількість символів, які потрібно витягти, не було вказано, вилучення відбувалося до кінця рядка.
Ось ще один приклад:
SELECT substring('Guru99' from 5 for 2);
Команда поверне наступне:
Ми почали видобування з позиції 5, і було вилучено 2 символи.
Розгляньте наведену нижче книжкову таблицю:
Ми хочемо отримати приблизне уявлення про назву кожної книги. Однак ми можемо витягти лише перші 15 символів із стовпця імені таблиці:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Команда поверне наступне:
Тепер ми маємо приблизне уявлення про назву кожної книги.
Зіставлення підрядків із регулярним виразом SQL
In PostgreSQL, ми можемо витягти підрядок, що відповідає вказаному регулярному виразу POSIX. У цьому випадку функція substring використовується з таким синтаксисом:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Ось пояснення наведених вище параметрів:
Рядок є вихідним рядком, чий тип даних є varchar, char, string тощо.
Matching_pattern — це шаблон, який буде використовуватися для пошуку в рядку.
прикладів
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Команда поверне наступне:
Наш вхідний рядок — ваш вік — 22. У шаблоні ми шукаємо числовий шаблон у нашому рядку, коли він знайдений, функція substring має витягти лише два символи.
Як зіставити підрядки за допомогою pgAdmin
Тепер давайте подивимося, як виконуються дії за допомогою pgAdmin.
Наведені вище запити, для яких нам не потрібна база даних, можна виконати безпосередньо з вікна редактора запитів. Просто виконайте наступне:
Крок 1) Увійдіть у свій обліковий запис.
Увійдіть у свій обліковий запис pgAdmin.
Крок 2) На pgAdmin,
Натисніть піктограму інструмента запиту.
Відкриється вікно редактора запитів.
Крок 3) Тип запиту.
Введіть наступний запит у вікні редактора.
SELECT substring('Guru99' for 4);
Крок 4) Виконати запит
Натисніть піктограму «Виконати», щоб виконати запит.
Крок 5) Виконання запиту виконано.
Він повинен повернути наступне:
Приклад 2:
SELECT substring('Guru99' from 1 for 4);
Він повинен повернути наступне:
Ось наступний приклад:
SELECT substring('Guru99' from 5);
Він повинен повернути наступне:
Приклад 3:
SELECT substring('Guru99' from 5 for 2);
Він повинен повернути наступне:
Тепер запустимо приклад, використовуючи таблицю Book бази даних Demo:
Крок 1) Увійдіть у свій обліковий запис pgAdmin.
Крок 2)
- На панелі навігації ліворуч натисніть Бази даних.
- Натисніть Демо.
Крок 3) Введіть запит у редакторі запитів:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Крок 4) Натисніть кнопку Виконати.
Він повинен повернути наступне:
Тепер ми маємо основне уявлення про назву кожної книги.
Зіставлення підрядків із регулярним виразом SQL
Щоб зробити те саме на pgAdmin, виконайте наступне:
Крок 1) Увійдіть у свій обліковий запис pgAdmin.
Крок 2) Натисніть піктограму інструмента запиту.
Відкриється вікно редактора запитів.
Крок 3) Введіть наступний запит у вікні редактора.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Крок 4) Натисніть піктограму «Виконати», щоб виконати запит.
Він повинен повернути наступне:
Підсумки
- Команда PostgreSQL Функція Substring допомагає видобувати та повертати лише частину рядка.
- Перший символ рядка знаходиться в позиції 1.
- Якщо кількість символів, які потрібно витягнути з рядка, не вказана, функція витягне символи з указаної початкової позиції до кінця рядка.
- Якщо вказано кількість символів, які потрібно витягнути, буде вилучено лише цю кількість символів.
Завантажте базу даних, яка використовується в цьому посібнику