EXTRACT()
DSQL, PSQL
EXTRACT (<part> FROM <datetime>) <part> ::= YEAR | QUARTER | MONTH | WEEK | DAY | WEEKDAY | YEARDAY | HOUR | MINUTE | SECOND | MILLISECOND | TIMEZONE_HOUR | TIMEZONE_MINUTE
Параметр | Описание |
---|---|
part |
Составляющая даты/времени. |
datetime |
Выражение типа |
SMALLINT
или NUNERIC
Функция EXTRACT
извлекает составляющие даты и времени из типов данных DATE
, TIME
и TIMESTAMP
.
Составляющая даты/времени | Тип | Диапазон | Комментарий |
---|---|---|---|
|
|
1–9999 |
Год |
|
|
1-4 |
Квартал |
|
|
1–12 |
Месяц |
|
|
1–53 |
Номер недели в году |
|
|
1–31 |
День |
|
|
0–6 |
День недели. 0 — Воскресенье |
|
|
0–365 |
Номер дня в году. 0 = 1 января |
|
|
0–23 |
Часы |
|
|
0–59 |
Минуты |
|
|
0.0000–59.9999 |
Секунды. Включает в себя миллисекунды |
|
|
0.0–999.9 |
Миллисекунды |
|
|
от -14 до +14 |
Смещение часов часового пояса |
|
|
от -59 до +59 |
Смещение минут часового пояса |
Note
|
Если составляющая даты/времени не присутствует в аргументе дата/время, например SECOND в аргументе с типом DATE или YEAR в TIME, то функция вызовет ошибку. |
Из аргумента с типом данных DATE
или TIMESTAMP
можно извлекать номер недели.В соответствии со стандартом ISO-8601 неделя начинается с понедельника и всегда включает в себя 7 дней.Первой неделей года является первая неделя, у которой в ней больше дней в новом году (по крайней мере, 4): дни 1-3 могут принадлежать предыдущей неделе (52 или 53) прошлого года.По аналогии дни 1-3 текущего года могут принадлежать 1 неделе следующего года.
EXTRACT
/* получить по дате номер квартала */
SELECT (EXTRACT(MONTH FROM CURRENT_TIMESTAMP)-1)/3+1
FROM RDB$DATABASE