Изучаем sql


SELECT LAST_DAY('20050325')



Pdf көрінісі
бет132/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   128   129   130   131   132   133   134   135   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT LAST_DAY('20050325');
++
| LAST_DAY('20050325') |
++
| 20050331 |
++
1 row in set (0.04 sec)


Временные данные
149
Независимо от того, предоставляется ли значение типа 
date
или 
date
time
, функция 
last_day()
всегда возвращает значение типа 
date
. Хотя,
может быть, и не заметно, что эта функция существенно экономит вре
мя, но если требуется найти последний день февраля и для этого выяс
нить, високосный этот год или нет, логика вычисления может быть до
вольно сложной.
Еще одна временная функция, возвращающая дату, преобразует зна
чение типа 
datetime
из одного временного пояса в другой. Для этого
MySQL включает функцию 
convert_tz()
, а Oracle Database – функцию
new_time()
(новое время). Например, если требуется преобразовать те
кущее местное время в UTC, можно сделать следующее:
mysql> 
SELECT CURRENT_TIMESTAMP( ) current_est,
> CONVERT_TZ(CURRENT_TIMESTAMP( ), 'US/Eastern', 'UTC') current_utc;
+++
| current_est | current_utc |
+++
| 20050418 21:23:25 | 20050419 01:23:25 |
+++
1 row in set (0.50 sec)
Эта функция очень полезна при получении дат из других часовых поя
сов, отличных от того, в котором хранится база данных.
Временные функции, возвращающие строки
Большинство временных функций, возвращающих строковые значе
ния, используются для получения отдельной части даты или времени.
Например, MySQL включает функцию 
dayname()
(название дня), опре
деляющую, на какой день недели приходится определенная дата:
mysql> 
SELECT DAYNAME('20050322');
++
| DAYNAME('20050322') |
++
| Tuesday |
++
1 row in set (0.12 sec)
В MySQL много таких функций, предназначенных для извлечения ин
формации из значений дат, но я рекомендую пользоваться функцией
extract()
(извлечь), поскольку проще запомнить несколько разновид
ностей одной функции, чем десяток разных функций. Кроме того, 
ext
ract()
является частью стандарта SQL:2003 и была реализована не
только в MySQL, но и в Oracle Database.
Для определения интересующего элемента даты функция 
extract()
ис
пользует те же типы интервалов, что и функция 
date_add()
(см.
табл. 7.5). Например, если из значения типа 
datetime
требуется из
влечь только год, можно поступить так:




Достарыңызбен бөлісу:
1   ...   128   129   130   131   132   133   134   135   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет