ORACLE PL/SQL: gestione delle date

Programmazione web e database: oracle e la gestione delle date

Oracle PL/SQL: usare e gestire le date

Vediamo un paio di semplicissimi esempi che mostrano come usare le date in Oracle ed in particolare in un programma PL/SQL. Oppure come tramite una query sapere l'orario del server Oracle.

AGGIORNAMENTI

28/10/2014: altri esempi con le select e le date

05/09/2014: date in query di update

 

Piccolo esempio che mostra come dichiarare e come usare una variabile date in Oracle PL/SQL:

 


DECLARE
   variabile_data date := sysdate;
BEGIN
   dbms_output.put_line ('data corrente di Oracle: ' || variabile_data) ;
END;

 

Risultato a video:
data attuale: 17-JUN-11
 

L'esempio mostra come assegnare la data atuale ad una variabile in PL/SQL e come mostrare in output il suo valore.

 

Vediamo come ottenere la data corrente del server Oracle con una query:



SELECT SYSDATE FROM DUAL;



Risultato:

2011-06-17 15:04:03.

Vogliamo ottenere la data attuale ma fissare l'orario a mezzanotte:

 

SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY') || ' 00:00:00' FROM DUAL;

RISULTATO: 01-AGO-2014 00:00:00

 

Stessa operazione di sopra convertendo però in oggetto DATE:

 

SELECT TO_DATE(CONCAT(TO_CHAR(SYSDATE, 'DD-MON-YYYY'), ' 00:00:00'), 'DD-MM-YYYY HH24:MI:SS') FROM DUAL;

 

Vediamo ora un utile esempio che mostra la manipolazione vista sopra in un update:

 

UPDATE MYTABLE SET MYFIELD_DATE = TO_DATE(CONCAT(TO_CHAR(SYSDATE, 'DD-MON-YYYY'), ' 00:00:00'), 'DD-MM-YYYY HH24:MI:SS');

 

Altro esempio di uso del TO_DATE in una select:

 

SELECT * FROM MYTABLE
WHERE MYDATE > TO_DATE('20-OTT-14 15:00:00', 'DD-MON-YY HH24:MI:SS');


Se volete sapere altro sul PL/SQL leggete la mia breve introduzione al pl/sql di Oracle con alcuni esempi.
Buona lavoro!