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

Как да промените формата на датата в базата данни на Oracle

Често се налага да променяме формата на датата, докато проверяваме. Ето няколко начина, които можете да използвате, за да промените формата на датата в базата данни на Oracle

Формат на датата по подразбиране на Oracle

Форматът на датата по подразбиране в Oracle се контролира от стойността на параметъра NLS_DATE_FORMAT.

Следната заявка може да се използва за намиране на текущата стойност на параметъра NLS_DATE_FORMAT

SELECT
  value
FROM
  V$NLS_PARAMETERS
WHERE
  parameter = 'NLS_DATE_FORMAT';

Как да промените формата за цялата сесия

Можем да променим параметъра в сесията и да изберем какъвто пожелаем формат за датата на Oracle. Ето sql, който може да се използва в сесията

ALTER SESSION SET NLS_DATE_FORMAT = '[date_format]';
MM  Numeric month (e.g., 07)
MON     Abbreviated month name (e.g., JUL)
MONTH   Full month name (e.g., JULY)
DD  Day of month (e.g., 24)
DY  Abbreviated name of day (e.g., FRI)
YYYY    4-digit year (e.g., 1998)
YY  Last 2 digits of the year (e.g., 98)
RR  Like YY, but the two digits are ``rounded'' to a year in the range 1950 to 2049. Thus, 06 is considered 2006 instead of 1906
AM (or PM)  Meridian indicator
HH  Hour of day (1-12)
HH24    Hour of day (0-23)
MI  Minute (0-59)
SS  Second (0-59)

Пример

alter session set nls_date_format = 'dd-mon-yyyy hh24:mi:ss';

Сега каквато и заявка да изпълните, колоната за дата ще бъде форматирана съгласно горния формат на датата

Example
select sysdate from dual;

Как да промените формата на датата с помощта на функция to_char

Може да искаме да имаме различен формат на датата за различните sql заявки. В този случай можете да планирате да използвате функцията на Oracle с един ред to_char и можете да преобразувате колоната с данни на Oracle в какъвто желаете формат

Example
select to_char(sysdate, 'dd-mon-yyyy hh24:mi:ss')  from dual; 
select to_char(sysdate, 'dd-mon-yyyy')  from dual;  

Как да промените формата на датата с помощта на функцията to_date

Може да искаме да променим низовете във формат на дата за сравнение, за да се съхраняват като дата в таблицата на Oracle. В този случай можете да използвате функцията to_date на Oracle

 Example
select to_date('11-JAN-2019 13:12:12', 'dd-mon-yyyy hh24:mi:ss')  from dual; 
select to_date( '11-JAN-2019', 'dd-mon-yyyy')  from dual;   

Важното нещо, което трябва да се отбележи:низът се преобразува в дата и датата се връща като формат на дата по подразбиране в оператора за избор. Ако използвате функцията to_date за съхраняване на низове като дата в колоната за дата, тогава това ще се съхранява само като дата. Сега, когато изберете тази колона, датата ще се показва във формата на датата по подразбиране на Oracle, зададен в сесията.

Как да форматирам дата за показване на ден, седмица, месеци и т.н.

 Day of Week
 SQL> select to_char(sysdate,'D') col from dual; 
 col
----
 2

 Name of WeekDay
 SQL> select to_char(sysdate,'DAY') col from dual;
 col
---
MONDAY
 
Abbreviated name of day
 SQL> select to_char(sysdate,'DY') from dual;
 col
----
 MON
 
Day of Month
 SQL> select to_char(sysdate,'DD') from dual;
 col
----
 30
 
Abbreviated name of month
 SQL> select to_char(sysdate,'MON') from dual;
 col
----
 NOV
 
Name of Month
 SQL> select to_char(sysdate,'MONTH') from dual;
 col
-----
NOVEMBER

Day of Year
SQL> select to_char(sysdate,'DDD') from dual;
 col
----
 334
 
Week of the year
SQL> select to_char(sysdate,'IW') from dual;
 col
----
 05

Week of Month
 SQL> select to_char(sysdate,'W') from dual;
 col
-----
 5

Month in Numbers
SQL> select to_char(sysdate,'MM') from dual;
 col
----
 11

Year in Numbers
SQL> select to_char(sysdate,'YYYY') from dual;
 col
----
 2019
 
Year in words
SQL> select to_char(sysdate,'YEAR') from dual;
col
---
TWENTY NINE

Hour in 0-12 format
SQL> select to_char(sysdate,'HH') from dual'
col
----
08

Hour in 0-24 format
SQL> select to_char(sysdate,'HH24') from dual;
col
---
 12

Minutes
 SQL> select to_char(sysdate,'MI') from dual;
 col
----
 45
 
Seconds
 SQL> select to_char(sysdate,'SS') from dual;
 col
----
 45
 

Надявам се, че ви харесват тези прости стъпки за това как да промените формата на датата в базата данни на Oracle. Може да има много примери, когато това може да се използва. Дадох само няколко прости примера, за да демонстрирам функционалността

Прочетете също
функции за дата на оракула : Тази публикация обхваща функциите за дата на оракула, разликата в датата на оракула в години, разликата в датата на оракула в дни, разликата в датата на оракула в месеци.
функцията NULLIF в Oracle :функцията NULLIF в Oracle сравнява две стойности и връщане на null, ако стойностите са еднакви, в противен случай връщане на първата стойност. Не можете да посочите литерала NULL в стойностите
Update statement в oracle :Ние използваме Update statement в oracle, за да модифицираме съществуващите редове в таблицата на oracle в oracle database.Update може да се изпълни по няколко начина
Функция за обединяване в Oracle :Функцията за обединяване в oracle ще върне първия израз, ако не е null, иначе ще направи обединяването на останалата част от израза.
как да вземете метаданни на таблица в oracle :Вижте как да получите дефиниция на таблица в oracle, оракул покажете дефиниция на индекс, вземете ddl на материализиран изглед в oracle, вземете заявката за изглед в oracle
http://infolab.stanford .edu/~ullman/fcdb/oracle/or-time.html


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция ROUND(дата) в Oracle

  2. ORA-06508:PL/SQL:не можа да намери извикан програмен модул

  3. AWS Python Lambda с Oracle

  4. Изявление FORALL с долна и горна граница в базата данни на Oracle

  5. Как да изпълним Oracle sql скрипт чрез java код