Skip to content

Commit ce4ff7e

Browse files
committed
Add all SQL commands, queries, functions folders.
0 parents  commit ce4ff7e

File tree

139 files changed

+7834
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+7834
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
**************** Дополнительные функции MySQL ****************
2+
3+
CASE - MySQL функция CASE оценивает условия и возвращать значение при выполнении
4+
первого условия.
5+
COALESCE - MySQL функция COALESCE возвращает первое ненулевое выражение в списке.
6+
NULLIF - MySQL функция NULLIF возвращает NULL, если два выражения эквивалентны. В противном
7+
случае возвращается первое выражение.
8+
BIN - MySQL функция BIN преобразует десятичное число в двоичное число и возвращает
9+
результат в виде строки.
10+
BINARY - MySQL функция BINARY преобразует значение в двоичную строку.
11+
CAST - MySQL функция CAST преобразует значение из одного типа данных в другой.
12+
CONNECTION_ID - MySQL функция CONNECTION_ID возвращает идентификатор соединения для
13+
текущего соединения, которое является уникальным идентификатором
14+
среди подключенных клиентов.
15+
CONV - MySQL функция CONV преобразует число из одной числовой базы в другую и
16+
возвращает результат в виде строкового значения.
17+
CONVERT - MySQL функция CONVERT преобразует значение из одного типа данных в
18+
другой или один набор символов в другой.
19+
CURRENT_USER - MySQL функция CURRENT_USER возвращает имя пользователя и имя хоста
20+
для учетной записи MySQL, которая использовалась сервером для
21+
аутентификации текущего клиента.
22+
DATABASE - MySQL функция DATABASE возвращает имя базы данных по умолчанию.
23+
IF - MySQL функция IF возвращает одно значение, если условие принимает значение TRUE,
24+
или другое значение, если условие принимает значение FALSE.
25+
IFNULL - MySQL функция IFNULL позволяет вам возвращать альтернативное значение, если
26+
выражение равно NULL.
27+
ISNULL - MySQL функция ISNULL проверяет, является ли выражение NULL.
28+
LAST_INSERT_ID - MySQL функция LAST_INSERT_ID возвращает первое значение AUTO_INCREMENT,
29+
которое было установлено с помощью самой последней инструкции INSERT или
30+
UPDATE, которая повлияла на столбец AUTO_INCREMENT.
31+
SESSION_USER - MySQL функция SESSION_USER возвращает имя пользователя и имя хоста для текущего
32+
пользователя MySQL.
33+
SYSTEM_USER - MySQL функция SYSTEM_USER возвращает имя пользователя и имя хоста для текущего
34+
пользователя MySQL.
35+
USER - MySQL функция USER возвращает имя пользователя и имя хоста для текущего пользователя MySQL.
36+
VERSION - MySQL функция VERSION возвращает версию базы данных MySQL.

ADDITIONAL FUNCTIONS/CASE.txt

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
****** MySQL функция CASE ******
2+
3+
MySQL функция CASE оценивает условия и возвращать значение при выполнении первого условия.
4+
5+
Синтаксис MySQL функции CASE:
6+
7+
*******************************************************************************************
8+
CASE [ expression ]
9+
10+
WHEN condition_1 THEN result_1
11+
12+
WHEN condition_2 THEN result_2
13+
14+
...
15+
16+
WHEN condition_n THEN result_n
17+
18+
ELSE result
19+
20+
END
21+
*******************************************************************************************
22+
23+
Параметры:
24+
- expression - необязательный. Это значение, которое мы сравниваем со списком условий.
25+
(То есть: condition_1, condition_2, ... condition_n)
26+
- condition_1, condition_2, ... condition_n - оценивается в указанном порядке. Как только
27+
условие оказывается истинным, функция CASE
28+
возвращает результат и не оценивает условия
29+
дальше.
30+
- result_1, result_2, ... result_n - возвращаемое значение, как только условие оказывается
31+
истинным.
32+
!!! ВНИМАНИЕ !!!
33+
Если ни одно условие не будет найдено, то функция CASE вернет значение в предложении ELSE.
34+
Если предложение ELSE опущено и условие не найдено, то оператор CASE вернет NULL.
35+
36+
Функция CASE может использоваться в следующих версиях MySQL:
37+
MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23.3
38+
!!! ВНИМАНИЕ !!!
39+
40+
****** Использование expression и CASE ******
41+
42+
Пример использования функции CASE в SQL запросе, в которое включено expression.
43+
44+
*******************************************************************************************
45+
SELECT supplier_id,
46+
CASE quantity
47+
WHEN > 5 THEN 'Количество больше, чем 5'
48+
WHEN = 5 THEN 'Количество равно 5'
49+
ELSE 'Другое количество'
50+
END
51+
FROM suppliers;
52+
*******************************************************************************************
53+
54+
В этом примере функции CASE expression представляет собой quantity, значение которого
55+
сравнивается с каждым из условий, пока не будет выполнено одно из них. Затем соответствующее
56+
значение будет возвращено функцией CASE.
57+
58+
****** Использование CASE без включения expression ******
59+
60+
Пример использование функции CASE в SQL предложении, где expression отсутствует:
61+
62+
*******************************************************************************************
63+
SELECT
64+
CASE
65+
WHEN a < b THEN 1
66+
WHEN supplier_type = 'clothing' THEN 2
67+
ELSE 3
68+
END
69+
FROM suppliers;
70+
*******************************************************************************************
71+
72+
В данном случае запрос SELECT идет с CASE но без expression, поэтому каждое условие индивидуально
73+
оценивается и может быть совершенно другим и уникальным. Когда условие выполнено, соответствующее
74+
значение будет возвращено.

ADDITIONAL FUNCTIONS/COALESCE.txt

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
****** MySQL функция COALESCE ******
2+
3+
MySQL функция COALESCE возвращает первое ненулевое выражение в списке.
4+
5+
Синтаксис MySQL функции COALESCE:
6+
7+
*************************************************************************
8+
COALESCE( expression1, expression2, ... expression_n )
9+
*************************************************************************
10+
11+
Параметры:
12+
- expression1, expression2, ... expression_n - выражения для проверки
13+
ненулевых значений.
14+
!!! ВНИМАНИЕ !!!
15+
Если все выражения будут иметь значение null, функция COALESCE вернет
16+
значение null.
17+
18+
Функция COALESCE может использоваться в следующих версиях MySQL:
19+
MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
20+
!!! ВНИМАНИЕ !!!
21+
22+
Например см. в COALESCE.SQL:
23+
24+
mysql> SELECT COALESCE('A', 'B', null, 'C', 'D');
25+
26+
#Результат: A
27+
28+
mysql> SELECT COALESCE(null, null, null, 'A', 'B');
29+
30+
#Результат: A
31+
32+
mysql> SELECT COALESCE(null, 1, 2, 3, null, 4);
33+
34+
#Результат: 1
35+
36+
mysql> SELECT COALESCE(null, 'May 1945', 'Apr 1961');
37+
38+
#Результат: May 1945
39+
40+
mysql> SELECT COALESCE(null, null, null, null, null);
41+
42+
#Результат: NULL

ADDITIONAL FUNCTIONS/MySQL/CASE.sql

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
SELECT * FROM my_base.students;
2+
3+
# CASE оценивает условия и возвращать значение при выполнении первого выполнившегося условия.
4+
5+
SELECT name, length(name) as name_length, age, registration_date,
6+
CASE
7+
WHEN length(name) < 27 THEN 'Сработало ПЕРВОЕ условие.'
8+
WHEN age > 40 THEN 'Сработало ВТОРОЕ условие.'
9+
WHEN registration_date > '2017-01-01' THEN 'Сработало ТРЕТЬЕ условие.'
10+
ELSE 'Ничего не сработало'
11+
END as res_test
12+
FROM my_base.students;
13+
14+
# ***********************************************************************************
15+
SELECT name, age,
16+
CASE
17+
WHEN (age >= 20 and age < 30) THEN 'Возраст больше, чем 20'
18+
WHEN (age >= 30 and age < 40) THEN 'О, уже за 30!'
19+
ELSE 'Или молодь или совсем старичек!'
20+
END as res_test
21+
FROM my_base.students
22+
order by age;
23+
24+
# ***********************************************************************************
25+
SELECT name, age,
26+
CASE age*1
27+
WHEN 20 THEN 'Вот тебе уже и 20'
28+
WHEN 30 THEN 'О, уже 30!'
29+
WHEN 40 THEN 'Да, уже и 40!'
30+
ELSE 'Блуждают где то между юбилеями!'
31+
END as res_test
32+
FROM my_base.students
33+
order by age;
34+
35+
# ***********************************************************************************
36+
SELECT name, length(name) as name_length,
37+
CASE
38+
WHEN length(name) < 10 THEN 'Любит краткость!'
39+
WHEN (length(name) >= 10 and length(name) < 30) THEN 'Нормально так!'
40+
WHEN (length(name) >= 30 and length(name) < 40) THEN 'Хрен запомнишь!'
41+
ELSE 'А у вас оригинальные родители!'
42+
END as res_test
43+
FROM my_base.students
44+
order by name;
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
SELECT * FROM my_base.students;
2+
3+
# MySQL функция COALESCE возвращает первое ненулевое выражение в списке.
4+
# Синтаксис MySQL функции COALESCE: COALESCE( expression1, expression2, ... expression_n )
5+
# где expression1, expression2, ... expression_n - выражения для проверки ненулевых значений.
6+
# Если все выражения будут иметь значение null, функция COALESCE вернет значение null.
7+
8+
SELECT COALESCE('A', 'B', null, 'C', 'D') as res_test from dual; #Результат: A
9+
10+
SELECT COALESCE(null, null, null, 'A', 'B') as res_test from dual; #Результат: A
11+
12+
SELECT COALESCE(null, 1, 2, 3, null, 4) as res_test from dual; #Результат: 1
13+
14+
SELECT COALESCE(null, 'May 1945', 'Apr 1961') as res_test from dual; #Результат: May 1945
15+
16+
SELECT COALESCE(null, null, null, null, null) as res_test from dual; #Результат: NULL

ADDITIONAL FUNCTIONS/MySQL/NULLIF.sql

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# MySQL функция NULLIF возвращает NULL, если два выражения эквивалентны.
2+
# В противном случае возвращается первое выражение.
3+
# NULLIF( expression1, expression2 )
4+
# где expression1 и expression2 - два выражения для проверки эквивалентного expression1 = expression2.
5+
6+
# Примечание !!!
7+
# Функция NULLIF вернет NULL, если expression1 = expression2 (равно).
8+
# Функция NULLIF вернет expression1, если expression1 ! = expression2 (не равно).
9+
10+
SELECT NULLIF('google.com', 'google.com') as res_test from dual; #Результат: NULL
11+
12+
SELECT NULLIF('google.com', 'yandex.ru') as res_test from dual; #Результат: google.com
13+
14+
SELECT NULLIF(3, 3) as res_test from dual; #Результат: NULL
15+
16+
SELECT NULLIF(3, 4) as res_test from dual; #Результат: 3

ADDITIONAL FUNCTIONS/NULLIF.txt

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
****** MySQL функция NULLIF ******
2+
3+
MySQL функция NULLIF возвращает NULL, если два выражения эквивалентны.
4+
В противном случае возвращается первое выражение.
5+
6+
Синтаксис MySQL функции NULLIF:
7+
8+
***************************************************************************************
9+
NULLIF( expression1, expression2 )
10+
***************************************************************************************
11+
12+
Параметры:
13+
- expression1 и expression2 - два выражения для проверки эквивалентности
14+
expression1 = expression2.
15+
16+
!!! ВНИМАНИЕ !!!
17+
Функция NULLIF вернет NULL, если expression1 = expression2 (равно).
18+
Функция NULLIF вернет expression1, если expression1 ! = expression2 (не равно).
19+
20+
Функция NULLIF может использоваться в следующих версиях MySQL:
21+
MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23.15
22+
!!! ВНИМАНИЕ !!!
23+
24+
Например см. NULLIF.SQL:
25+
26+
***************************************************************************************
27+
mysql> SELECT NULLIF('google.com', 'google.com');
28+
29+
#Результат: NULL
30+
31+
mysql> SELECT NULLIF('google.com', 'yandex.ru');
32+
33+
#Результат: google.com
34+
35+
mysql> SELECT NULLIF(3, 3);
36+
37+
#Результат: NULL
38+
39+
mysql> SELECT NULLIF(3, 4);
40+
41+
#Результат: 3
42+
***************************************************************************************

DATA FUNCTIONS/ADDTIME.txt

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
****** MySQL функция ADDTIME ******
2+
3+
MySQL функция ADDTIME возвращает значение дата/время и времени, к
4+
которому был добавлен временной интервал.
5+
6+
Синтаксис MySQL функции ADDTIME:
7+
8+
**********************************************************************************
9+
ADDTIME( start_value, time )
10+
**********************************************************************************
11+
12+
Параметры:
13+
- start_value - значение времени или даты и времени, к которому должен быть
14+
добавлен временной интервал.
15+
- time - значение временного интервала, который вы хотите добавить. Это может
16+
быть положительное или отрицательное значение.
17+
18+
!!! ВНИМАНИЕ !!!
19+
Использование функции ADDTIME с отрицательным значением time в качестве параметра
20+
эквивалентно использованию функции SUBTIME.
21+
См. также функции DATE_ADD, DATE_SUB, ADDTIME и SUBTIME
22+
23+
Функция ADDTIME может использоваться в следующих версиях MySQL:
24+
MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
25+
!!! ВНИМАНИЕ !!!
26+
27+
Например см. ADDDATE.SQL:
28+
29+
**********************************************************************************
30+
mysql> SELECT ADDTIME('2014-11-02 09:33:16.000001', '2.000001');
31+
32+
#Результат: 2014-11-02 09:33:18.000002
33+
34+
mysql> SELECT ADDTIME('2014-11-02 09:33:16.000001', '3:2.000001');
35+
36+
#Результат: 2014-11-02 12:35:16.000002
37+
38+
mysql> SELECT ADDTIME('2014-11-02 09:33:16.000001', '4:3:2.000001');
39+
40+
#Результат: 2014-11-02 13:36:18.000002
41+
42+
mysql> SELECT ADDTIME('2014-11-02 09:33:16.000001', '5 4:3:2.000001');
43+
44+
#Результат: 2014-11-07 13:36:18.000002
45+
46+
mysql> SELECT ADDTIME('01:14:23.999998', '0.000001');
47+
48+
#Результат: 01:14:23.999999
49+
50+
mysql> SELECT ADDTIME('01:14:23.999998', '5.000001');
51+
52+
#Результат: 01:14:28.999999
53+
54+
mysql> SELECT ADDTIME('01:14:23.000001', '8:12:15.003441');
55+
56+
#Результат: 09:26:38.003442
57+
58+
mysql> SELECT ADDTIME('01:14:23.000001', '-8:12:15.003441');
59+
60+
#Результат: -06:57:52.003440
61+
**********************************************************************************

0 commit comments

Comments
 (0)