Oracle
 sql >> база данни >  >> RDS >> Oracle

2 начина да получите деня от среща в Oracle

По-долу са две функции, които могат да се използват за връщане на деня от дата в Oracle Database.

EXTRACT() Функция

EXTRACT(datetime) функцията се използва за извличане на различни части за дата и време от стойност на дата и час. Това включва деня.

Ето един пример:

SELECT EXTRACT(DAY FROM DATE '2037-10-25')
FROM DUAL;

Резултат:

25

Това е DAY ключова дума, която извлича частта от деня от датата. Можем да получим други части за дата, като я променим на съответната ключова дума. Например YEAR , MONTH , HOUR , MINUTE и др.

Можем да използваме функцията и с други стойности за дата и час, като TIMESTAMP и др.

TO_CHAR(datetime) Функция

Можем също да използваме TO_CHAR(datetime) функционират като алтернативен метод за получаване на деня от дата.

Тази функция приема стойността за дата и време или интервал като свой първи аргумент и модел на формат като втори аргумент. След това функцията преобразува стойността в тип данни VARCHAR2 в посочения формат.

Форматният модел определя формата, за който да се върне стойността за дата и време/интервал. Форматният модел се състои от един или повече форматни елементи. Това ни позволява внимателно да изработим резултатите, за да отразяват желания от нас формат.

Ако искаме да върнем само деня, можем да използваме един от елементите на формат за извличане на деня.

Ден от месеца

За да получите деня от месеца (между 1-31), използвайте DD форматен елемент:

SELECT TO_CHAR(DATE '2037-10-03', 'DD')
FROM DUAL;

Резултат:

03

Пълно име

За да получите пълното име на деня, използвайте DAY :

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Резултат:

SATURDAY

Име за кратък ден

За да получите съкратеното име на деня, използвайте DY :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Резултат:

SAT

Ден от годината

За да получите деня от годината (между 1-366), използвайте DDD форматен елемент:

SELECT TO_CHAR(DATE '2037-10-03', 'DDD')
FROM DUAL;

Резултат:

276

Ден от седмицата

За да получите деня от седмицата (между 1-7), използвайте D форматен елемент:

SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Резултат:

6

Този елемент на формат зависи от територията на NLS на сесията. Стойността на NLS_TERRITORY на моята система параметърът е AUSTRALIA , и следователно съботата се счита за шести ден от седмицата.

Ето какво се случва, ако променя стойността на моя NLS_TERRITORY параметър към AMERICA и изпълнете отново същата заявка:

ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Резултат:

7

Този път събота се счита за седми ден от седмицата.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Първи стъпки с SQL на Oracle Application Express

  2. Импортирайте CSV файл в таблицата на Oracle с помощта на съхранена процедура

  3. Процедура за експортиране на таблица в множество csv файлове

  4. java.sql.SQLException:- ORA-01000:максималният отворен курсор е превишен

  5. Поведение по подразбиране за автоматично завършване на JDBC връзката