1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer

Лекція 5 - SQL, Select: Формування результату із використанням стрічкових функцій

Об’єднання стрічок – CONCAT, CONCAT_WS
Пошук та видобування підстрічки – LOCATE, SUBSTRING
Усунення пробілів – LTRIM, RTRIM
Зміна регістрів символів - LOWER, UPPER
Номери днів тижня, місяця, року – WEEKDAY, DAYOFMONTH, DAYOFYEAR
Номери року, місяця, кварталу – YEAR, MONTH, QUARTER

Об’єднання стрічок – CONCAT, CONCAT_WS

В деяких ситуаціях для формування вивідного результату вмістиме текстових полів та полів типу дата повинно бути перетворене. Розглянемо деякі функції MySql, які забезпечують таку обробку.

string CONCAT(str1 string, str2 string,...)
Об'єднує рядки аргументів. Повертає NULL, якщо ,будь-який з аргументів є NULL. Може бути більше 2 аргументів. Числові аргументи конвертуються у відповідні рядки.
Приклади:

 SELECT  CONCAT('My', 'S', 'QL');
        -> 'MySQL'
SELECT CONCAT('My', NULL, 'QL');
        -> NULL
SELECT CONCAT(14.3);
        -> '14.3'

string CONCAT_WS(separator string, str1 string, str2 string,...)
Об'єднує рядки подібно до функції CONCAT (), але з роздільником separator, який всавляється між рядків-аргументів. Якщо separator є NULL, то результат буде NULL. Функція пропускає інші аргументи, якщо їх значення NULL.>
Приклади:

SELECT  CONCAT_WS(",","First name","Second name","Last Name");
       -> 'First name,Second name,Last Name'
SELECT  CONCAT_WS(",","First name",NULL,"Last Name");
       -> 'First name,Last Name'

Пошук та видобування підстрічки – LOCATE, SUBSTRING

integer LOCATE(substr string, str string, pos integer)
LOCATE (substr string, str string) повертає позицію першого входження підрядка substr в рядку str. Повертає 0, якщо substr не знайдене в рядку str.
LOCATE (substr string, str string, pos integer) повертає позицію першого входження підрядка substr в рядку str, але починаючи з pos. Повертає 0, якщо substr не знайдене в рядку str (з урахуванням позиції).
Приклади:

SELECT LOCATE('bar', 'foobarbar',5);
        -> 7
SELECT LOCATE('bar', 'foobarbar');
        -> 4
SELECT LOCATE('xbar', 'foobar');
        -> 0

string SUBSTRING( str string, pos integer, len integer )
Повертає підрядок рядка str довжиною len символів з позиції pos. У функції SUBSTRING () якщо не вказаний аргумент len, то повертає весь підрядок рядка str з позиції pos.
Приклади:

SELECT SUBSTRING('Quadratically',5,6);
        -> 'ratica'
SELECT  SUBSTRING('Quadratically',5);
        -> 'ratically'
SELECT  SUBSTRING('foobarbar' FROM 4);
        -> 'barbar'

Усунення пробілів – LTRIM, RTRIM

string LTRIM( str string )
Повертає рядок str, видаливши пропуски з початку рядка.
Приклади:

SELECT LTRIM('  barbar');
        -> 'barbar'

string RTRIM( str string )
Повертає рядок str, видаливши пропуски з кінця рядка.
Приклади:

SELECT RTRIM('barbar   ');
        -> 'barbar'

Зміна регістрів символів - LOWER, UPPER

string LOWER( str string )
Повертає рядок str, замінивши в ній всі великі букви на малі.
Приклади:

SELECT LOWER('QUADRATICALLY');
        -> 'quadratically'

string UPPER( str string )
Повертає рядок str, замінивши в ній всі малі букви на великі.
Приклади:

SELECT  UPPER('Hej');
        -> 'HEJ'

Номери днів тижня, місяця, року – WEEKDAY, DAYOFMONTH, DAYOFYEAR

integer WEEKDAY(date)
Повертає індекс дня тижня для аргументу дата (0 = понеділок, 1 = вівторок, ... 6 = неділя).
Приклади:

SELECT WEEKDAY('1998-02-03 22:23:00');
        -> 1
 SELECT WEEKDAY('1997-11-05');
        -> 2

integer DAYOFMONTH(date)
Повертає порядковий номер дня місяця для аргументу дата в діапазоні від 1 до 31.
Приклади:

SELECT DAYOFMONTH('1998-02-03');
-> 3

integer DAYOFYEAR(date)
Повертає порядковий номер дня року для аргументу дата в діапазоні від 1 до 366.
Приклади:

SELECT DAYOFYEAR('1998-02-03');
->34

Номери року, місяця, кварталу – YEAR, MONTH, QUARTER

integer YEAR(date)
Повертає порядковий номер року.
Приклади:

SELECT YEAR(('1998-02-03');
-> 1998

integer MONTH(date)
Повертає порядковий номер місяця в році для аргументу дату в діапазоні від 1 до 12.
Приклади:

SELECT MONTH('1998-02-03');
        -> 2

integer QUARTER(date)
Повертає номер кварталу року для аргументу дату в діапазоні від 1 до 4.
Приклади:

 SELECT QUARTER('98-04-01');
        -> 2

Додати коментар


Захисний код
Оновити

Меню

  •  Facebook 
  •  Vk 

Обрати мову

Хто на сайті

На сайті 42 гостей та відсутні користувачі