logo

SQL функции за дата

В този урок ще научим за някои от важните функции за дата, които са вградени в SQL.

Функции за дата в SQL:

  1. СЕГА()
  2. CURDATE()
  3. CURTIME()
  4. ДАТА()
  5. ЕКСТРАКТ()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. ФОРМАТ НА ДАТАТА()

Нека разгледаме подробно всяка от функциите за дата една по една с помощта на примери. Ще използваме MySQL база данни в примери за писане на заявките.

Да приемем, че имаме таблицата на учениците със следните данни:

документ за самоличност Име ДатаЧас_Раждане град
1 Манси Шах 2010-01-01 18:39:09 Пуна
2 Теджал Уаг 2010-03-04 05:13:19 Nasik
3 Седжал Кумари 2010-05-01 10:31:07 Мумбай
4 Сонал Джайн 2010-09-09 17:17:07 Шимла
5 Сурили Махешвари 2010-07-10 20:45:18 Писмо

Ще използваме тази таблица в някои от примерите.

1. СЕГА():

Функцията NOW () в SQL ще даде текущата системна дата и час.

Синтаксис:

 SELECT NOW (); 

Пример:

Напишете заявка за показване на текущата системна дата и час.

Запитване:

 mysql> SELECT NOW () AS Current_Date_Time; 

Тук сме написали заявка SELECT с функцията NOW (), за да получим текущите дата и час на системата. Current_Date_Time е псевдоним за съхраняване на датата и часа.

След като изпълнихме горната заявка, получихме следния резултат:

Текуща_дата_час
2021-10-24 18:28:44

Датата и часът на изпълнение на заявката в системата са 24thоктомври 2021 г. и 18:28:44 ч. Следователно, той се показва като изход.

2. CURDATE()

Функцията CURDATE () в SQL ще даде датата на текущата система.

латексова маса

Синтаксис:

 SELECT CURDATE (); 

Пример:

Напишете заявка за показване на текущата системна дата.

Запитване:

 mysql> SELECT CURDATE () AS CurrentDate; 

Тук сме написали заявка SELECT с функцията CURDATE (), за да получим текущата дата на системата. CurrentDate е псевдоним за съхраняване на датата.

След като изпълнихме горната заявка, получихме следния резултат:

Текуща дата
2021-10-24

Датата, на която е изпълнена заявката в системата е 24thОктомври 2021 г. Следователно се показва като изход.

3. CURTIME()

Функцията CURTIME () в SQL ще даде текущото системно време.

Синтаксис:

 SELECT CURTIME (); 

Пример:

Напишете заявка за показване на текущото системно време.

Запитване:

 mysql> SELECT CURTIME () AS CurrentTime; 

Тук сме написали заявка SELECT с функцията CURTIME (), за да получим текущото време на системата. CurrentTime е псевдоним за съхраняване на часа.

След като изпълнихме горната заявка, получихме следния резултат:

Текущо време
18:49:07

Часът, в който е изпълнена заявката в системата е 18:49:07. Следователно, той се показва като изход.

4. ДАТА()

Използвайки функцията DATE () в SQL, можете конкретно да извлечете датата от колоната тип данни DATETIME.

Синтаксис:

 SELECT DATE (DateTimeValue); 

Пример 1:

Напишете заявка за показване на датата от дадените дата и час, т.е. 2021-10-24 18:28:44.

пружина и пружина mvc

Запитване:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Тук сме написали заявка SELECT с функцията DATE (), за да получим само датата от параметъра за дата и час, предаден на функцията DATE(). SHOW_DATE е псевдоним за съхраняване на датата.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_DATE
2021-10-24

От параметъра за дата и час, т.е. „2021-10-24 18:28:44“, стойността на датата е 2021-10-24. Следователно, той се показва като изход.

Пример 2:

Напишете заявка за показване на всички детайли от таблицата на учениците с датата от колоната DateTime_Birth на таблицата на учениците.

Запитване:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Тук сме написали заявка SELECT за извличане на ID и име. Date_of_Birth е псевдоним на DateTime_Birth. Използвахме Date_of_Birth с функцията DATE (), за да получим само датата.

След като изпълнихме горната заявка, получихме следния резултат:

документ за самоличност Име Дата на раждане град
1 Манси Шах 2010-01-01 Пуна
2 Теджал Уаг 2010-03-04 Nasik
3 Седжал Кумари 2010-05-01 Мумбай
4 Сонал Джайн 2010-09-09 Шимла
5 Сурили Махешвари 2010-07-10 Писмо

Всички записи се показват така, както са от таблицата на учениците, с изключение на колоната DateTime_Birth. Само датата се показва в колоната Date_of_Birth според изискването.

5. ЕКСТРАКТ()

Използвайки функцията EXTRACT() в SQL, можем да извлечем определена част от дата и час според нашите изисквания: ден, месец, година, ден, час, минута и т.н.

Синтаксис:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Пример 1:

Напишете заявка за показване на годината от дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Тук сме написали заявка SELECT с функцията EXTRACT (), за да получим годината от дадената дата. SHOW_YEAR е псевдоним за съхраняване на годината.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_YEAR
2021 г

„2021“ е годината в дадената дата. Следователно, той се показва като изход.

Пример 2:

Напишете заявка за показване на месеца от дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Тук сме написали заявка SELECT с функцията EXTRACT (), за да получим месеца от дадената дата. SHOW_MONTH е псевдоним за съхраняване на месеца.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_MONTH
10

10thе месечната стойност в дадена дата. Следователно, той се показва като изход.

Пример 3:

Напишете заявка за показване на деня от дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Тук сме написали заявка SELECT с функцията EXTRACT (), за да получим деня от дадената дата. SHOW_DAY е псевдоним за съхраняване на деня.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_DAY
24

24thе дневната стойност в дадена дата. Следователно, той се показва като изход.

Пример 4:

Напишете заявка за показване на часа от дадения час, т.е. 19:10:43.

Запитване:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Тук сме написали заявка SELECT с функцията EXTRACT (), за да получим часа от дадения час. SHOW_HOUR е псевдоним за съхраняване на стойността на час.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_HOUR
19

'19' е стойността на часа в даденото време. Следователно, той се показва като изход.

Пример 5:

Напишете заявка за показване на минутите от дадения час, т.е. 19:10:43.

обективна java

Запитване:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Тук сме написали заявка SELECT с функцията EXTRACT (), за да получим минутната стойност от даденото време. SHOW_MINUTE е псевдоним за съхраняване на минутата.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_MINUTE
10

'10' е минутната стойност в даденото време. Следователно, той се показва като изход.

Пример 6:

Напишете заявка за показване на секундите от даденото време, т.е. 19:10:43.

Запитване:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Тук сме написали заявка SELECT с функцията EXTRACT (), за да получим стойността на секундите от даденото време. SHOW_SECOND е псевдоним за съхраняване на стойността на секунда.

След като изпълнихме горната заявка, получихме следния резултат:

SHOW_SECOND
43

43 е втората стойност за даденото време. Следователно, той се показва като изход.

6. DATE_ADD()

Използвайки функцията DATE_ADD () в SQL, можем да добавим определен времеви интервал към дадената дата.

Синтаксис:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Пример 1:

Напишете заявка за добавяне на интервал от 15 дни към дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_ADD (), за да добавим интервал от 15 дни към дадената дата. NEW_DATE е псевдоним за съхраняване на стойността на нова дата.

Ще получите следния изход:

NEW_DATE
2021-11-08

След добавяне на 15-дневен интервал към 2021-10-24, новата дата е 2021-11-08.

Пример 2:

Напишете заявка за добавяне на интервал от 5 месеца към дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_ADD (), за да добавим интервал от 5 месеца към дадената дата. NEW_DATE е псевдоним за съхраняване на стойността на нова дата.

Ще получите следния изход:

NEW_DATE
2022-03-24

След добавяне на 5-месечен интервал към 2021-10-24, новата дата е 2022-03-24.

Пример 3:

Напишете заявка за добавяне на интервал от 25 години към дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_ADD (), за да добавим интервал от 25 години към дадената дата. NEW_DATE е псевдоним за съхраняване на стойността на нова дата.

Ще получите следния изход:

NEW_DATE
2046-10-24

След добавяне на 25-годишен интервал към 2021-10-24, новата дата е 2046-10-24.

7. DATE_SUB()

Използвайки функцията DATE_SUB () в SQL, можем да премахнем определен времеви интервал от дадената дата.

Синтаксис:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Пример 1:

Напишете заявка за премахване на интервал от 25 години от дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_SUB(), за да премахнем интервал от 25 години от дадената дата. NEW_DATE е псевдоним за съхраняване на стойността на нова дата.

Ще получите следния изход:

NEW_DATE
1996-10-24

След премахване на 25-годишния интервал от 2021-10-24, новата дата е 1996-10-24.

Пример 2:

Напишете заявка за премахване на интервал от 5 месеца от дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_SUB(), за да премахнем интервал от 5 месеца от дадената дата. NEW_DATE е псевдоним за съхраняване на стойността на нова дата.

Ще получите следния изход:

NEW_DATE
2021-05-24

След премахване на 5-месечен интервал от 2021-10-24, новата дата е 2021-05-24.

Пример 3:

Напишете заявка за премахване на интервал от 15 дни от дадената дата, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_SUB(), за да премахнем интервал от 15 дни от дадената дата. NEW_DATE е псевдоним за съхраняване на стойността на нова дата.

Ще получите следния изход:

списък java
NEW_DATE
2021-10-09

След премахване на 15-дневния интервал от 2021-10-24, новата дата е 2021-10-09.

8. DATEDIFF()

Използването на функцията DATEDIFF() в SQL ще ни даде броя на дните, които попадат между двете дадени дати.

Синтаксис:

 SELECT DATEDIFF(Date1, Date2); 

Пример 1:

Напишете заявка, за да изчислите разликата между две дадени дати, т.е. 24thоктомври 2021 г. и 9thоктомври 2021 г.

Запитване:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Тук сме написали заявка SELECT с функция DATE_DIFF(), за да получим разликата между датите 2021-10-24 и 2021-10-09. Number_of_Days е псевдоним за съхраняване на разликата по отношение на броя дни.

Ще получите следния изход:

Номер на дните
петнадесет

Има разлика от 15 дни между датите 2021-10-24 и 2021-10-09.

Пример 2:

Напишете заявка, за да изчислите разликата между две дадени дати, т.е. 5thмай 2018 г. и 5thмай 2008 г.

Запитване:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Тук сме написали SELECT заявка с функция DATE_DIFF (), за да получим разликата между датите 2018-05-05 и 2008-05-05. Number_of_Days е псевдоним за съхраняване на разликата по отношение на броя дни.

Ще получите следния изход:

Номер на дните
3652

Между датите 2018-05-05 и 2008-05-05 има разлика от 3652 дни.

9. DATE_FORMAT()

Използвайки функцията DATE_FORMAT () в SQL, можем да покажем информацията, свързана с датата или часа, по добре форматиран начин.

Синтаксис на използване на функция DATE_FORMAT в колона на таблица:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

ИЛИ

Синтаксис за форматиране на конкретна дата:

 SELECT DATE_FORMAT (Date, Expression); 

Пример 1:

Напишете заявка за показване на дадената дата по добре форматиран начин, т.е. 24thоктомври 2021 г.

Запитване:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Тук сме написали заявка SELECT с функцията DATE_FORMAT (), за да получим датата 2021-10-24 във форматирана форма. Formatted_Date е псевдоним за съхраняване на форматираната дата.

конвертиране на низ в число

Ще получите следния изход:

Форматирана_дата
Неделя, 24 октомври 2021 г

Неделя, 24 октомври 2021 г., е форматираната дата за 2021-10-24.

Пример 2:

Напишете заявка за показване на дадена дата и час по добре форматиран начин, т.е. 24thОктомври, 2021 г. 22:30:17.

Запитване:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Тук сме написали заявка SELECT с функцията DATE_FORMAT (), за да получим датата и часа „2021-10-24 22:30:17“ във форматираната форма. Formatted_DateTime е псевдоним за съхраняване на форматираната дата и час.

Ще получите следния изход:

Formatted_DateTime
Неделя, 24 октомври 2021 г., 22:30:17 ч

Неделя, 24 октомври 2021 г., 22:30:17 е форматираната дата и час за 2021-10-24 22:30:17.

Пример 3:

Напишете заявка, за да покажете всички подробности от колоната студент с колоната DateTime_Birth по добре форматиран начин.

Запитване:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Тук сме написали заявка SELECT с функция DATE_FORMAT (), за да получим датата и часа за всички записи във форматирана форма. Formatted_DateTime е псевдоним за съхраняване на форматираната дата и час.

Ще получите следния изход:

документ за самоличност Име Formatted_DateTime град
1 Манси Шах Петък, 1 януари 2010 г., 18:39:09 ч Пуна
2 Теджал Уаг Четвъртък, 4 март 2010 г., 05:13:19 ч Nasik
3 Седжал Кумари Събота, 1 май 2010 г., 10:31:07 ч Мумбай
4 Сонал Джайн Четвъртък, 9 септември 2010 г., 17:17:07 ч Шимла
5 Сурили Махешвари Събота, 10 юли 2010 г., 20:45:18 ч Писмо

Всички записи се показват така, както са от таблицата на учениците, с изключение на колоната DateTime_Birth. Само датата и часът се показват в колоната Formatted_DateTime според изискванията.