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

Как да получите текущата дата в Oracle

Проблем:

Искате да получите текущата дата (без часа) в Oracle.

Решение 1 (ако нямате нищо против нулите като времето):

SELECT
  TRUNC(CURRENT_DATE) AS current_date
FROM dual;

Например, ако трябва да изпълните тази заявка на 16 юни 2021 г., таблицата с резултатите ще изглежда така:

текуща_дата
2021-06-16T00:00:00Z

Дискусия:

Oracle няма тип данни, който съхранява само датата без часа. Но ако нямате нищо против нулите на мястото на часа, можете просто да съхраните дата в DATE тип данни (който съхранява както датата, така и часа в Oracle). За да получите текущата дата и час като DATE стойност, можете просто да използвате CURRENT_DATE . За да се отървете от часа (и вместо това да имате нули), трябва да съкратите датата:

SELECT
  TRUNC(CURRENT_DATE) AS current_date
FROM dual;

Решение 2 (ако искате само датата, а не нули на мястото на часа):

SELECT
  TO_CHAR(CURRENT_DATE, 'yyyy-MM-dd') AS current_date
FROM dual;

Например, ако трябва да изпълните тази заявка на 16 юни 2021 г., таблицата с резултатите ще изглежда така:

текуща_дата
16.06.2021

Дискусия:

За да получите текст на VARCHAR2 тип, който съхранява дата, можете да използвате TO_CHAR() функция в Oracle. Трябва да посочите датата/часа, който да се преобразува като първи аргумент и във формата, в който искате да съхраните датата като втори аргумент.

Тъй като искате текущата дата, първият аргумент е CURRENT_DATE . Вторият аргумент е вашият избор. Например, 'yyyy-MM-dd' означава „година-месец-ден“, където месецът е числов, а не текстов. Таблицата по-долу представя някои примерни формати за дати и съответния изход за датата 16 юни 2021 г.

формат на датата резултат
'ГГГГ-ММ-ДД' 16.06.2021
„ГГГГ/ММ/ДД“ 2021/06/16
'ГГГГ ММ ДД' 2021 06 16
'ДД-ПОН-ГГГГ' 16 ЮНИ 2021 г.
'ДД-ПОН-ГГ' 16-ЮНИ-21
'FMM месец ДД, ГГГГ' 16 юни 2021 г.

Можете да прочетете повече за форматите на датите тук.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предаване на масив към процедурата на Oracle от c#

  2. Заявката, включваща външни присъединявания, се държи по различен начин в Oracle 12c

  3. Актуализирайте изявление с клауза with

  4. Относно елемента за формат RM в Oracle

  5. ORA-00911:невалиден знак