Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Операція конкатенації рядків




Операція конкатенації «&» дозволяє з'єднувати («склеювати») значення двох або більше стовпців символьного типу або символьних констант в один рядок.

Ця операція має синтаксис

<значимий символьний вираз > {&} <значимий символьний вираз >.

Приклад 3:

SELECT SURNAME & “ “ & NAME, STIPEND

FROM STUDENT

WHERE KURS = 4 AND STIPEND > 0;

Результат запиту буде виглядати таким чином:

 

  STIPEND
Сидоренко Вадим  
Петренко Антон  
   

Функції перетворення символів у рядку

• LOWER - перетворення у строкові символи (нижній регістр)

LOWER (<рядок>)

 

• UPPER - перетворення у прописні (заголовні) символи (верхній регістр)

UPPER (<рядок>)

 

•INITCAP — перетворення першої букви кожного слова рядка в прописну (заголовну)

INITCAP (<рядок>)

 

Приклад 4:

SELECT LOWER (SURNAME), UPPER (NAME)

FROM STUDENT

WHERE KURS = 4 AND STIPEND > 0;

Результат запиту буде виглядати таким чином:

 

SURNAME NAME
Сидоренко ВАДИМ
Петренко АНТОН
   

Строкові функції

LPAD — доповнення рядка ліворуч

LPAD (<рядок>,<довжина>[,<субрядок>])

• <рядок> доповнюється ліворуч заданою в <субрядку> послідовністю символів до зазначеної <довжини > (можливо, з повторенням послідовності);

• якщо <субрядок> не зазначений, то за замовчуванням <рядок> доповнюється пробілами;

• якщо <довжина> менше довжини <рядка>, то вихідний <рядок> обмежується ліворуч до заданої <довжини>.

 

RPAD — доповнення рядка праворуч

RPAD (<рядок>,<довжина>[,<субрядок>])

• <рядок> доповнюється праворуч заданою в <субрядку> послідовністю символів до зазначеної <довжини> (можливо, з повторенням послідовності);

• якщо <субрядок> не зазначений, то за замовчуванням <рядок> доповнюється пробілами;

• якщо <довжина> менше довжини <рядка>, то вихідний <рядок> обмежується праворуч до заданої <довжини >.

 

LTRIM — видалення лівих граничних символів

LTRIM (<рядок>[,<субрядок>])

• з <рядка> видаляються ліворуч символи, зазначені в <субрядку>;

• якщо < субрядок > не зазначений, за замовчуванням видаляються пробіли;

• в <рядок> праворуч додається стільки пробілів, скільки символів ліворуч було вилучено, тобто довжина <рядка> залишається незмінною.

 

RTRIM — видалення правих граничних символів

RTRIM (<рядок>[,<субрядок>])

• з <рядка> видаляються праворуч символи, зазначені в <субрядку>;

• якщо <субрядок> не зазначений, за замовчуванням видаляються пробіли;

• в <рядок> ліворуч додається стільки пробілів, скільки символів праворуч було вилучено, тобто довжина <рядка> залишається незмінною.

 

Функції LTRIM і RTRIM пропонується використовувати при написанні умовних виразів, у яких порівнюються текстові рядки. Справа в тому, що наявність початкових або кінцевих пробілів у порівнюваних операндах може спотворити результат порівняння.

Приклад 5. Константи ' ААА' і 'ААА ' не рівні один одному.

 

SUBSTR — виділення субрядка

SUBSTR (<рядок>, <початок> [, <кількість>])

• з <рядка> вибирається задана <кількість> символів, починаючи із зазначеної параметром <початок> позиції в рядку;

• якщо <кількість> не задана, символи вибираються з <початку> і до кінця <рядка>;

• повертається субрядок, що містить число символів, заданих параметром <кількість>, або число символів від позиції, заданої параметром <початок> до кінця рядка;

• якщо зазначений <початок> перевищує довжину <рядка>, то повертається рядок, що складається із пробілів. Довжина цього рядка буде дорівнювати заданій <кількості> або вихідній довжині <рядка> (при не заданій <кількості>).

 

INSTR — пошук субрядка

INSTR (<рядок>,<субрядок>[,<початок пошуку>

[,<номер входження>]])

• < початок пошуку> задає початкову позицію в рядку для пошуку <субрядка>. Якщо не заданий, то за замовчуванням приймається значення 1;

• <номер входження> задає порядковий номер шуканого субрядка. Якщо не заданий, то за замовчуванням приймається значення 1;

 

• значимі вирази в <початку пошуку> або в <номері входження > повинні мати беззнаковий цілий тип або приводитися до цього типу;

• тип значення, що повертається - INT;

функція повертає позицію знайденого субядка.

 

LENGTH — визначення довжини рядка

LENGTH (<рядок>)

• довжина <рядка>, тип значення, що повертається - INT;

• функція повертає NULL, якщо <рядок> має NULL-значення.

Приклад 6. Запити, що використовують строкові функції.

SELECT LPAD (SURNAME, 10, ‘@’, RPAD (NAME, 10, '$')

FROM STUDENT

WHERE KURS = 3 AND STIPEND > 0;

Результат запиту буде виглядати таким чином:

 

   
@@Петренко Петро$$$$$
@@@@Павлов Андрій$$$$
@@@@@Лукін Артем$$$$$
   

Приклад 7. Запити, що використовують строкові функції.

SELECT SUBSTR(NAME, 1, 1) ||'.'|| SURNAME, CITY, LENGTH (CITY,)

FROM STUDENT

WHERE KURS IN(2, 3, 4) AND STIPEND > 0;

Запит видає результат:

  CITY  
П. Петренко Київ  
С. Сидоренко Миколаїв  
О. Зайцева Луцьк  
А. Лукін Вінниця  
А. Петренко NULL NULL
     

Завдання для самостійної роботи

1. Складіть запит до таблиці STUDENT таким чином, щоб вихідна таблиця містила один стовпець, що містить послідовність розділених символом «;» (крапка з комою) значень всіх стовпців цієї таблиці, тобто бути представленими в наступному вигляді: 10;Ковалів;Борис;0;Бердянськ;2;8/12/1986;17.

2. Складіть запит для таблиці STUDENT таким чином, щоб вихідна таблиця містила всього один стовпець у наступному виді: Б. КОВАЛІВ; місце проживання - БЕРДЯНСЬК; народився-8.12.86.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...