Често се налага да променяме формата на датата, докато проверяваме. Ето няколко начина, които можете да използвате, за да промените формата на датата в базата данни на 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