ФУНКЦИИ MySQL
343.50K
Category: databasedatabase

Функции MySQL. Таблица шаблонов в Select

1. ФУНКЦИИ MySQL

2.

Таблица шаблонов в Select
Все
Один символ
Диапазон
значений
Исключение
из диапазона
Конкатенация
Access
*
?
[]
MySQL
%
_
[]
[!]
[!]
&
CONCAT()

3.

Функции My SQL
IF NULL(a,b ) –
возвращает значение a,
если значение отлично от
NULL и значение b, если
a равно NULL.

4.

Функции My SQL
Пример:
В таблице продажи, если не
указано
количество
проданного
товара,
присвоить значение 1.
UPDATE order
SET qty = IF NULL(qty,1);

5.

Функции My SQL
NULLIF(a,b)возвращает
значение
NULL, если a = b и
значение a, в противном
случае.

6.

Функции My SQL
Пример:
Всем
продуктам
с
количеством 20 присвоить
неопределенное значение.
UPDATE product
SET qty = NULLIF(qty,20);

7.

Функции получения текущей даты и времени
1. CURDATE(), CURRENT_DATE()
- возвращают текущую дату
2. CURTIME(), CURRENT_TAME() -
возвращают текущее время
3. SYSDATE() - возвращает
текущую дату и время Windows

8.

Функции получения компонентов даты и времени
1. DATE(‘<дата и время>’) получает в качестве аргумента
дату и время и возвращает дату,
отсекая время.
2. TIME(‘<дата и время>’) получает в качестве аргумента
дату и время и возвращает время,
отсекая дату.

9.

Функции получения компонентов даты и времени
1. DAY(‘<дата [и время]>’) получает в качестве аргумента
дату или дату и время и
возвращает номер дня в месяце.
DAY(‘2020-02-14’)=14
2. DAYNAME(‘<дата и время>’) возвращает наименование дня
недели
DAYNAME(‘2020-02-14’)=Friday

10.

Функции получения компонентов даты и времени
1. MONTH(‘<дата [и время]>’) возвращает
номер
месяца,
которому принадлежит дата.
2. YEAR(‘<дата [и время]>’) возвращает номер года.
3. QUARTER (‘<дата [и время]>’) возвращает номер квартала.

11.

Функции сложения и вычитания дат
1. ADDDATE(‘<дата>’, <количество
дней>) - возвращает дату, сдвинутую
относительно указанной даты на
указанное количество дней.
2. ADDDATE(‘<дата>’, <временной
интервал>) - возвращает дату,
сдвинутую относительно указанной
даты на указанный временной
интервал.

12.

<Временной интервал>
INTERVAL '<Количество секунд>' SECOND
INTERVAL '<Количество минут>' MINUTE
INTERVAL '<Количество часов>' HOUR
INTERVAL '<Количество дней>' DAY
INTERVAL '<Количество недель>' WEEK
INTERVAL '<Количество месяцев>' MONTH
INTERVAL '<Количество кварталов>' QUARTER
INTERVAL '<Количество лет>' YEAR
INTERVAL '<Количество минут>:<Количество
секунд>' MINUTE_SECOND

13.

Примеры.
1.ADDDATE(‘2020-02-01’,
INTERVAL '10 12:30’ DAY_MINUTE)
- добавляет 10 дней 12 часов 30
минут, возвращает дату 2020-02-11
12:30
2. ADDDATE(‘2020-02-14’,
INTERVAL -2 YEAR) возвращает
дату 2018-02-14

14.

Функции сложения и вычитания дат
1. DATEADD(‘<дата>’, ‘<временной
интервал>’) - синоним функции ADDDATE
2. TIMESTAMP(‘<дата и время>’,
’<время>’) - возвращает сумму своих
аргументов в формате дата и время
Пример:
TIMESTAMP(‘2020-01-15 12:30’, ‘15:50’)
добавляет 15 часов 50 минут к 12 часам 30
минутам, возвращает 2020-01-16 04:20:00

15.

Функции сложения и вычитания дат
TIMESTAMPADD(<тип
периода>, <длина периода>,
‘<дата и время>’) - возвращает
дату и время, сдвинутые
относительно указанной даты
на указанный период.

16.

Тип периода
DAY —число(номер дня в месяце)
WEEK —номер недели в году
MONTH —номер месяца
QUARTER —номер квартала
YEAR —номер года
HOUR —часы
MINUTE —минуты
SECOND —секунды

17.

Пример
TIMESTAMPADD(YEAR, 1, ‘202002-07’)
добавляет
один
год,
возвращает 2021-02-07.
Если длина периода <0, то дата
сдвигается в прошлое.

18.

Изменение формата даты
DATE_FORMAT(‘<дата и время>’,
‘<формат>’) - возвращает дату,
преобразованную к указанному
формату

19.

Параметры форматов
%a- сокращенное наименование дня
недели (Sun, Mon…)
%b - сокращенное название месяца
(Jan,Feb…)
%c - номер месяца (1-12)
%m - номер месяца (01-12)
%d - число месяца (01-31)
%е - число месяца (1 - 31)
%M - название месяца (January,
February…)
%y - номер года в формате (yy)
%Y - номер года в формате(yyyy)

20.

Пример изменения формата даты
DATE_FORMAT
(‘2020-02-14’, ‘%d%M%Yг. ’)
возвращает 14 February
2020г.

21.

Строковые функции
LENGTH(‘<Строка>’) - возвращает длину строки в
байтах
LEFT('<Строка>',<Длина
подстроки>)возвращает левую подстроку заданной длины
RIGHT('<Строка>',<Длина
подстроки>)возвращает правую строку
LCASE('<Строка>')возвращает
строку
приведенную к нижнему регистру
UCASE('<Строка>')возвращает
строку
приведенную к верхнему регистру
MID('<Строка>',<Позиция>,<Длина>)возвращает подстроку заданной длины с указанной
позиции.

22.

SELECT
SELECT name_prod, price, qty
FROM product
WHERE name_prod LIKE ‘П%’
OR price>5000
ORDER BY price DESC;

23.

Объединение таблиц
SELECT name, address,
id_prod, qty
FROM client,order
WHERE Client.id=id_client AND
order_date=‘2020-12-12’;

24.

Объединение таблиц
SELECT L.name_prod,
R.name_prod
FROM product L, product R
WHERE L.price=R.price AND
L.name_prod< R.name_prod;

25.

Вложенные запросы( подзапросы)
SELECT name
FROM client
WHERE id IN
(SELECT DISTINCT id_client
FROM order
WHERE id_prod=5);

26.

Соединение
SELECT DISTINCT name
FROM client, order
WHERE Client.id=id_client
AND id_prod=5;
English     Русский Rules