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!