В този урок ще научим за някои от важните функции за дата, които са вградени в SQL.
Функции за дата в SQL:
- СЕГА()
- CURDATE()
- CURTIME()
- ДАТА()
- ЕКСТРАКТ()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- ФОРМАТ НА ДАТАТА()
Нека разгледаме подробно всяка от функциите за дата една по една с помощта на примери. Ще използваме 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 според изискванията.