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

Как да получите името на деня от дата в Oracle

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

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

Пълно име

Когато става въпрос за връщане на името на деня от дадена дата, имаме възможност да получим пълното име на деня или неговата съкратена версия.

За да получите пълното име на деня, DAY Елементът format прави номера:

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

Резултат:

SATURDAY

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

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

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

Резултат:

SAT

Изписване с главни букви

Можем да използваме главни букви, ако желаем. Това определя капитализацията на изхода:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
    TO_CHAR(DATE '2037-10-03', 'day') AS "day",
    TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
    TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;

Резултат:

         Day          day     Dy     dy 
____________ ____________ ______ ______ 
Saturday     saturday     Sat    sat    

Език

Езикът на името на деня се определя или изрично с NLS_DATE_LANGUAGE параметър за инициализация или имплицитно с NLS_LANGUAGE параметър за инициализация.

Можем изрично да зададем стойността на NLS_LANGUAGE параметър с ALTER SESSION изявление. Когато правим това, той също така имплицитно задава стойността на NLS_DATE_LANGUAGE параметър.

Въпреки това, задаване на NLS_DATE_LANGUAGE параметърът не променя стойността на NLS_LANGUAGE параметър. Това ни позволява да посочим различен език за форматните елементи, които връщат изписани стойности, ако е необходимо.

Ето пример за настройка на на NLS_DATE_LANGUAGE параметър на различен език:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';

Резултат:

Session altered.

Сега, когато върнем името на деня от дата, то се връща на езика, който току-що посочихме:

SELECT 
    TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
    TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;

Резултат:

   Full Day Name    Short Day Name 
________________ _________________ 
SAMSTAG          SA               

Езикът по подразбиране може да бъде отменен на ниво функция с трети параметър, който определя езика:

ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT 
    TO_CHAR(
        DATE '2037-10-03', 
        'Day', 
        'NLS_DATE_LANGUAGE = Spanish' 
    )
FROM DUAL;

Резултат:

Sábado

Има много повече форматни елементи, налични за форматиране на стойности за дата и час в Oracle. Вижте Списък с елементи на формат за дата и време в Oracle за пълен списък.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Набор за тестове за настройка на AOL/J

  2. Oracle 11g Express Edition за Windows 64bit?

  3. Игнорирайте параметъра за период от време в клаузата where, когато параметърът не е въведен

  4. Как мога да разположа .NET приложение, което използва ODAC, без да инсталирам целия компонент на потребителя?

  5. SQLPlus - спулиране към множество файлове от PL/SQL блокове