У овом водичу ћемо научити о неким важним функцијама датума које су уграђене у СКЛ.
Функције датума у СКЛ-у:
- САДА()
- ЦУРДАТЕ()
- ЦУРТИМЕ()
- ДАТУМ()
- ИЗВЛАЧИ ()
- ДАТЕ_АДД()
- ДАТЕ_СУБ()
- ДАТЕДИФФ()
- ФОРМАТ ДАТУМА()
Погледајмо сваку од функција датума једну по једну, уз помоћ примера. Користићемо МиСКЛ базу података у примерима за писање упита.
Узмимо у обзир да имамо табелу ученика са следећим подацима:
ИД | Име | Датум и време_рођења | Цити |
---|---|---|---|
1 | Манси Схах | 2010-01-01 18:39:09 | Пуне |
2 | Тејал Вагх | 2010-03-04 05:13:19 | Насик |
3 | Сејал Кумари | 2010-05-01 10:31:07 | Мумбаи |
4 | Сонал Јаин | 2010-09-09 17:17:07 | Схимла |
5 | Сурили Махесхвари | 2010-07-10 20:45:18 | Писмо |
Користићемо ову табелу у неким од примера.
1. САДА():
НОВ () функција у СКЛ-у ће дати датум и време тренутног система.
Синтакса:
SELECT NOW ();
Пример:
Напишите упит за приказ датума и времена тренутног система.
упит:
mysql> SELECT NOW () AS Current_Date_Time;
Овде смо написали СЕЛЕЦТ упит са функцијом НОВ () да бисмо добили тренутни датум и време система. Цуррент_Дате_Тиме је псеудоним за чување датума и времена.
Након извршења горњег упита, добили смо следећи излаз:
Цуррент_Дате_Тиме |
---|
2021-10-24 18:28:44 |
Датум и време када је упит извршен у систему су 24тхоктобра 2021. и 18:28:44. Дакле, приказује се као излаз.
2. ЦУРДАТЕ()
Функција ЦУРДАТЕ () у СКЛ-у ће дати датум тренутног система.
ј е с т
Синтакса:
SELECT CURDATE ();
Пример:
Напишите упит за приказ датума тренутног система.
упит:
mysql> SELECT CURDATE () AS CurrentDate;
Овде смо написали СЕЛЕЦТ упит са функцијом ЦУРДАТЕ () да бисмо добили тренутни датум система. ЦуррентДате је псеудоним за чување датума.
Након извршења горњег упита, добили смо следећи излаз:
Тренутни датум |
---|
2021-10-24 |
Датум када је упит извршен у систему је 24тхоктобар 2021. Стога се приказује као излаз.
3. ЦУРТИМЕ()
Функција ЦУРТИМЕ () у СКЛ-у ће дати тренутно системско време.
Синтакса:
SELECT CURTIME ();
Пример:
Напишите упит за приказ тренутног времена система.
упит:
mysql> SELECT CURTIME () AS CurrentTime;
Овде смо написали СЕЛЕЦТ упит са функцијом ЦУРТИМЕ () да бисмо добили тренутно време система. ЦуррентТиме је псеудоним за чување времена.
Након извршења горњег упита, добили смо следећи излаз:
Тренутно време |
---|
18:49:07 |
Време извршења упита у систему је 18:49:07. Дакле, приказује се као излаз.
4. ДАТУМ()
Користећи функцију ДАТЕ () у СКЛ-у, можете посебно издвојити датум из колоне типа података ДАТЕТИМЕ.
Синтакса:
SELECT DATE (DateTimeValue);
Пример 1:
Напишите упит за приказ датума од датог датума и времена, тј. 2021-10-24 18:28:44.
упит:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ() да бисмо добили само датум из параметра датума и времена који је прослеђен функцији ДАТЕ(). СХОВ_ДАТЕ је псеудоним за чување датума.
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_ДАТЕ |
---|
2021-10-24 |
Из параметра датума и времена, тј. '2021-10-24 18:28:44', вредност датума је 2021-10-24. Дакле, приказује се као излаз.
Пример 2:
Напишите упит за приказ свих детаља из табеле ученика са датумом из колоне ДатеТиме_Биртх у табели ученика.
упит:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Овде смо написали СЕЛЕЦТ упит за преузимање ИД-а и имена. Дате_оф_Биртх је псеудоним за ДатеТиме_Биртх. Користили смо Дате_оф_Биртх са функцијом ДАТЕ () да добијемо само датум.
Након извршења горњег упита, добили смо следећи излаз:
покушајте цатцх блоцк јава
ИД | Име | Датум рођења | Цити |
---|---|---|---|
1 | Манси Схах | 2010-01-01 | Пуне |
2 | Тејал Вагх | 2010-03-04 | Насик |
3 | Сејал Кумари | 2010-05-01 | Мумбаи |
4 | Сонал Јаин | 2010-09-09 | Схимла |
5 | Сурили Махесхвари | 2010-07-10 | Писмо |
Сви записи се приказују онакви какви су из табеле ученика осим колоне Датум и време_рођења. Само датум се приказује у колони Дате_оф_Биртх према захтеву.
5. ЕКСТРАЦТ()
Користећи функцију ЕКСТРАЦТ() у СКЛ-у, можемо издвојити одређени део датума и времена према нашим захтевима: дан, месец, година, дан, сат, минут, итд.
Синтакса:
SELECT EXTRACT (PART FROM DATE / TIME);
Пример 1:
Напишите упит за приказ године од датог датума, тј. 24тхоктобар 2021.
упит:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Овде смо написали СЕЛЕЦТ упит са функцијом ЕКСТРАЦТ () да бисмо добили годину од датог датума. СХОВ_ИЕАР је псеудоним за чување године.
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_ИЕАР |
---|
2021 |
'2021' је година у датом датуму. Дакле, приказује се као излаз.
Пример 2:
Напишите упит за приказ месеца од датог датума, тј. 24тхоктобар 2021.
упит:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Овде смо написали СЕЛЕЦТ упит са функцијом ЕКСТРАЦТ () да бисмо добили месец од датог датума. СХОВ_МОНТХ је псеудоним за чување месеца.
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_МОНТХ |
---|
10 |
10тхје вредност месеца у датом датуму. Дакле, приказује се као излаз.
Пример 3:
Напишите упит за приказ дана од датог датума, тј. 24тхоктобар 2021.
упит:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Овде смо написали СЕЛЕЦТ упит са функцијом ЕКСТРАЦТ () да бисмо добили дан од датог датума. СХОВ_ДАИ је псеудоним за чување дана.
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_ДАИ |
---|
24 |
24тхје вредност дана у датом датуму. Дакле, приказује се као излаз.
Пример 4:
Напишите упит за приказ сата од датог времена, тј. 19:10:43.
упит:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Овде смо написали СЕЛЕЦТ упит са функцијом ЕКСТРАЦТ () да бисмо добили сат од датог времена. СХОВ_ХОУР је псеудоним за чување вредности сата.
бројеви по азбуци
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_ХОУР |
---|
19 |
'19' је вредност сата у датом времену. Дакле, приказује се као излаз.
Пример 5:
Напишите упит за приказ минута од датог времена, тј. 19:10:43.
упит:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Овде смо написали СЕЛЕЦТ упит са функцијом ЕКСТРАЦТ () да добијемо минутну вредност из датог времена. СХОВ_МИНУТЕ је псеудоним за чување минута.
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_МИНУТЕ |
---|
10 |
'10' је вредност минута у датом времену. Дакле, приказује се као излаз.
Пример 6:
Напишите упит за приказ секунди од датог времена, тј. 19:10:43.
упит:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Овде смо написали СЕЛЕЦТ упит са функцијом ЕКСТРАЦТ () да бисмо добили вредност у секундама из датог времена. СХОВ_СЕЦОНД је псеудоним за чување вредности секунде.
Након извршења горњег упита, добили смо следећи излаз:
СХОВ_СЕЦОНД |
---|
43 |
43 је друга вредност у датом времену. Дакле, приказује се као излаз.
6. ДАТЕ_АДД()
Користећи функцију ДАТЕ_АДД () у СКЛ-у, можемо додати одређени временски интервал датом датуму.
Синтакса:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
Пример 1:
Напишите упит да датом датуму додате интервал од 15 дана, тј. 24тхоктобар 2021.
упит:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_АДД () да додамо интервал од 15 дана до датог датума. НЕВ_ДАТЕ је псеудоним за чување вредности новог датума.
Добићете следећи излаз:
НЕВ_ДАТЕ |
---|
2021-11-08 |
Након додавања интервала од 15 дана у 2021-10-24, нови датум је 2021-11-08.
Пример 2:
Напишите упит да датом датуму додате интервал од 5 месеци, тј. 24.тхоктобар 2021.
упит:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_АДД () да додамо интервал од 5 месеци до датог датума. НЕВ_ДАТЕ је псеудоним за чување вредности новог датума.
Добићете следећи излаз:
НЕВ_ДАТЕ |
---|
2022-03-24 |
Након додавања интервала од 5 месеци у 2021-10-24, нови датум је 2022-03-24.
Пример 3:
Напишите упит да датом датуму додате интервал од 25 година, тј. 24тхоктобар 2021.
упит:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_АДД () да додамо интервал од 25 година датом датуму. НЕВ_ДАТЕ је псеудоним за чување вредности новог датума.
Добићете следећи излаз:
НЕВ_ДАТЕ |
---|
2046-10-24 |
Након додавања интервала од 25 година у 2021-10-24, нови датум је 2046-10-24.
7. ДАТЕ_СУБ()
Користећи функцију ДАТЕ_СУБ () у СКЛ-у, можемо уклонити одређени временски интервал од датог датума.
Синтакса:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
Пример 1:
Напишите упит за уклањање интервала од 25 година од датог датума, тј. 24.тхоктобар 2021.
упит:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_СУБ() да уклонимо интервал од 25 година од датог датума. НЕВ_ДАТЕ је псеудоним за чување вредности новог датума.
Добићете следећи излаз:
НЕВ_ДАТЕ |
---|
1996-10-24 |
Након уклањања интервала од 25 година од 24.10.2021, нови датум је 24.10.1996.
Пример 2:
Напишите упит за уклањање интервала од 5 месеци од датог датума, тј. 24.тхоктобар 2021.
упит:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_СУБ() да уклонимо интервал од 5 месеци од датог датума. НЕВ_ДАТЕ је псеудоним за чување вредности новог датума.
Добићете следећи излаз:
НЕВ_ДАТЕ |
---|
2021-05-24 |
Након уклањања интервала од 5 месеци од 24.10.2021, нови датум је 24.05.2021.
Пример 3:
склеарн оцена тачности
Напишите упит за уклањање интервала од 15 дана од датог датума, тј. 24.тхоктобар 2021.
упит:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_СУБ() да уклонимо интервал од 15 дана од датог датума. НЕВ_ДАТЕ је псеудоним за чување вредности новог датума.
Добићете следећи излаз:
НЕВ_ДАТЕ |
---|
2021-10-09 |
Након уклањања интервала од 15 дана од 24.10.2021, нови датум је 09.10.2021.
8. ДАТЕДИФФ()
Коришћење функције ДАТЕДИФФ() у СКЛ-у ће нам дати број дана између два дата датума.
Синтакса:
SELECT DATEDIFF(Date1, Date2);
Пример 1:
Напишите упит за израчунавање разлике између два дата датума, тј. 24тхоктобра 2021. и 9тхоктобар 2021.
упит:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_ДИФФ() да бисмо добили разлику између датума 24.10.2021 и 09.10.2021. Нумбер_оф_Даис је псеудоним за чување разлике у смислу броја дана.
Добићете следећи излаз:
Број дана |
---|
петнаест |
Постоји разлика од 15 дана између датума 24.10.2021 и 09.10.2021.
Пример 2:
Напишите упит за израчунавање разлике између два дата датума, тј. 5тхмаја 2018. и 5тхмај 2008.
упит:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_ДИФФ () да бисмо добили разлику између датума 2018-05-05 и 2008-05-05. Нумбер_оф_Даис је псеудоним за чување разлике у смислу броја дана.
Добићете следећи излаз:
Број дана |
---|
3652 |
Постоји разлика од 3652 дана између датума 2018-05-05 и 2008-05-05.
9. ДАТЕ_ФОРМАТ()
Користећи функцију ДАТЕ_ФОРМАТ () у СКЛ-у, можемо приказати информације у вези са датумом или временом на добро форматиран начин.
Синтакса коришћења функције ДАТЕ_ФОРМАТ у колони табеле:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
ИЛИ
Синтакса за форматирање одређеног датума:
SELECT DATE_FORMAT (Date, Expression);
Пример 1:
Напишите упит за приказ датог датума на добро форматиран начин, тј. 24.тхоктобар 2021.
упит:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_ФОРМАТ () да бисмо добили датум 2021-10-24 у форматираном облику. Форматтед_Дате је псеудоним за чување форматираног датума.
Рудиард Киплинг ако објашњење
Добићете следећи излаз:
Форматтед_Дате |
---|
Недеља 24.10.2021 |
Недеља, 24. октобар 2021. је форматирани датум за 24.10.2021.
Пример 2:
Напишите упит да прикажете дати датум и време на добро форматиран начин, тј. 24тхоктобар, 2021 22:30:17.
упит:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_ФОРМАТ () да бисмо добили датум и време '2021-10-24 22:30:17' у форматираном облику. Форматтед_ДатеТиме је псеудоним за чување форматираног датума и времена.
Добићете следећи излаз:
Форматтед_ДатеТиме |
---|
Недеља 24 Октобар 2021 22:30:17 |
Недеља, 24. октобар 2021. 22:30:17 сати је форматирани датум и време за 24.10.2021 22:30:17.
Пример 3:
Напишите упит да бисте приказали све детаље из колоне ученика са колоном ДатеТиме_Биртх на добро форматиран начин.
упит:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Овде смо написали СЕЛЕЦТ упит са функцијом ДАТЕ_ФОРМАТ () да бисмо добили датум и време за све записе у форматираном облику. Форматтед_ДатеТиме је псеудоним за чување форматираног датума и времена.
Добићете следећи излаз:
ИД | Име | Форматтед_ДатеТиме | Цити |
---|---|---|---|
1 | Манси Схах | Петак, 1. јануар 2010. 18:39:09 | Пуне |
2 | Тејал Вагх | Четвртак, 4. март 2010. 05:13:19 | Насик |
3 | Сејал Кумари | Субота, 1. мај 2010. 10:31:07 | Мумбаи |
4 | Сонал Јаин | Четвртак, 9. септембар 2010. 17:17:07 | Схимла |
5 | Сурили Махесхвари | Субота, 10. јул 2010. 20:45:18 | Писмо |
Сви записи се приказују онакви какви су из табеле ученика осим колоне Датум и време_рођења. Само датум и време су приказани у колони Форматтед_ДатеТиме према захтеваном.