Читайте также:
|
|
Большинство временных функций, возвращающих строковые значе_ ния, используются для получения отдельной части даты или времени. Например, MySQL включает функцию dayname() (название дня), опре_ деляющую, на какой день недели приходится определенная дата:
mysql> SELECT DAYNAME('2005_03_22');
+_______________________+
| DAYNAME('2005_03_22') |
+_______________________+
| Tuesday |
+_______________________+
1 row in set (0.12 sec)
В MySQL много таких функций, предназначенных для извлечения ин_ формации из значений дат, но я рекомендую пользоваться функцией extract() (извлечь), поскольку проще запомнить несколько разновид_ ностей одной функции, чем десяток разных функций. Кроме того, ext_ ract() является частью стандарта SQL:2003 и была реализована не только в MySQL, но и в Oracle Database.
Для определения интересующего элемента даты функция extract() ис_ пользует те же типы интервалов, что и функция date_add() (см. табл. 7.5). Например, если из значения типа datetime требуется из_ влечь только год, можно поступить так:
150 Глава 7. Создание, преобразование и работа с данными
mysql> SELECT EXTRACT(YEAR FROM '2005_03_22 22:19:05');
+__________________________________________+ | EXTRACT(YEAR FROM '2005_03_22 22:19:05') | +__________________________________________+
| | 2005 | |
+__________________________________________+ 1 row in set (0.02 sec)
В SQL Server нет реализации extract(), но есть функция date_ part() (часть даты). Вот как можно извлечь год из значения da_ tetime с помощью datepart():
SELECT DATEPART(YEAR, GETDATE())
Дата добавления: 2015-08-17; просмотров: 78 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Временные функции, возвращающие даты | | | Временные функции, возвращающие числа |