Sql - використання функції substring - sql, substring, sql-запит - програмні продукти

SQL-функція SUBSTRING може використовуватися в додатках Delphi, що працюють із запитами до локальної SQL, але вона не підтримується при роботі з таблицями InterBase (IB) і Local InterBase Server (LIBS). Нижче наведено синтаксис функції SUBSTRING, приклади її використання в запитах до local SQL, і альтернатива для повернення тих же результатів для таблиць IB / LIBS.

Синтаксис функції SUBSTRING:

- ім'я колонки таблиці, з якої повинна бути отримана подстрока (substring).

місце в значенні колонки, починаючи з якого витягується подстрока.

довжина витягується підрядка.

Функція SUBSTRING в прикладі нижче поверне другий, третій і четвертий символи з колонки з ім'ям COMPANY:

Функція SUBSTRING може бути використана і для списку полів в SELECT-запиті, де ключове слово WHERE допускає порівняння значення з певним набором колонок. Функція SUBSTRING може використовуватися тільки з колонками типу String (на мові SQL тип CHAR). Ось приклад функції SUBSTRING, що використовує список колонок в SELECT-запиті (використовуємо демонстраційну таблицю Paradox CUSTOMER.DB):

Даний SQL-запит витягує перші три символи з колонки COMPANY, яку повертатимуть як обчислюється колонка з ім'ям SS. Ось приклад функції SUBSTRING, використаної в SQL-запиті з ключовим словом WHERE (використовуємо ту ж саму таблицю):

Даний запит поверне всі рядки таблиці, де другий і третій символи в колонці COMPANY рівні "ar".

Так як функція SUBSTRING не підтримуються в базах даних IB і LIBS, операції з підрядками зі списком колонок в запиті неможливі (виняток: IB може працювати з підрядками через функції, визначені користувачем, User-Defined Functions). Але за допомогою оператора LIKE і супутніх символьних маркерів підстановки можливо працювати з підрядком і в разі WHERE. Ось приклад на основі таблиці EMPLOYEE (в базі даних EMPLOYEE.GDB):

Даний SQL-запит поверне всі рядки таблиці, де другий і третій символи в колонці LAST_NAME рівні "an", див. Попередній приклад на основі таблиці Paradox. Баз даних IB і LIBS для виконання порівняння підрядка в операторі запиту WHERE даний метод необхідний (і неможливо скористатися функцією SUBSTRING), таблиці ж Paradox і dBASE (наприклад, local SQL) можуть скористатися будь-яким методом.