Salta al contenuto

Archivi

  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021

Categorie

  • Nessuna categoria
Trend RepositoryArticles and guides
Articles

Tutorial per Oracle DBA

Il Gennaio 1, 2022 da admin
Formare le date in Oracle
  • Funzioni e operatori di data.
  • SYSDATE Esempio
  • CURRENT_DATE Esempio
  • SYSTIMESTAMP Esempio
  • MODELLI FORMATO DATA
  • TO_DATE Esempio
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • LAST_DAY
  • NEXT_DAY
  • EXTRACT

Funzioni e operatori di data.

Per vedere la data e l’ora di sistema usate le seguenti funzioni :

CURRENT_DATE :restituisce la data attuale nel fuso orario della sessione, in un valore nel calendario gregoriano di tipo
DATE
SYSDATE :restituisce la data e l’ora attuali.
SYSTIMESTAMP :La funzione SYSTIMESTAMP restituisce la data di sistema, comprese le frazioni di secondo e il fuso orario
del database. Il tipo di ritorno è TIMESTAMP CON FUSO ORARIO.

SYSDATE Esempio

Per vedere la data e l’ora attuale del sistema fai la seguente query.

select sysdate from dual;
SYSDATE
——-
8-AUG-03

Il formato in cui viene visualizzata la data dipende dal parametro NLS_DATE_FORMAT.

Per esempio impostate NLS_DATE_FORMAT nel seguente formato

alterate session set NLS_DATE_FORMAT=’DD-MON-YYYY HH:MIpm’;

Poi date la seguente dichiarazione

select sysdate from dual;
SYSDATE
——————
8-AUG-2003 03:05pm

L’impostazione predefinita di NLS_DATE_FORMAT è DD-MON-YY

CURRENT_DATE Esempio

Per vedere la data e l’ora corrente del sistema con il fuso orario usa la funzione CURRENT_DATE

ALTER SESSION SET TIME_ZONE = ‘-4:0’;
ALTERARE SESSIONE SET NLS_DATE_FORMAT = ‘DD-MON-YYYY HH24:MI:SS’;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = ‘-7:0’;
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
————— ——————–
-07:00 22-APR-2003 09:15:33

SYSTIMESTAMP Esempio

Per vedere la data e l’ora attuale del sistema con frazioni di secondo con fuso orario dare la seguente istruzione

select systimestamp from dual;
SYSTIMESTAMP
——————————-
22-APR-03 08.38.55.538741 AM -07:00

MODELLI FORMATO DATA

Per tradurre la data in una stringa di formato diverso puoi usare la funzione TO_CHAR con formato data. Per esempio per vedere il giorno corrente potete dare la seguente query

Select to_char(sysdate,’DAY’) “Today” FROM DUAL;
TODAY
——-
THURSDAY

Per tradurre un valore di carattere, che è in un formato diverso da quello predefinito di data, in un valore di data è possibile utilizzare la funzione TO_DATE con il formato di data in data

Come questo modello di formato “DAY” ci sono molti altri modelli di formato di data disponibili in Oracle. La seguente tabella elenca i modelli di formato data.

FORMATO

MODELLO

D

Giorno della settimana

DD

Giorno del mese

DDD

Giorno dell’anno

DAY

Giorno intero per es. Lunedì’, ‘Martedì’, ‘Mercoledì’

DY

Giorno in tre lettere per es. ‘MON’, ‘TUE’,’VEN’

W

Settimana del mese

W

Settimana dell’anno

MM

Mese in due cifre (1-Gennaio, 2-feb,…12-Dic)

MON

Mese in tre caratteri come “Jan”, “Feb”, “Apr”

MONTH

Mese completo come “January”, “Febbraio”, “Aprile”

RM

Mese in caratteri romani (I-XII, I-Jan, II-Feb,…XII-Dic)

Q

Quarto del mese

YY

Le ultime due cifre dell’anno.

YYYYY

Anno intero

ANNO

Anno in parole come “Nineteen Ninety Nine”

HH

Ore in formato 12 ore

HH12

Ore in formato 12 ore

HH24

Ore in formato 24 ore

MI

Minuti

SS

Secondi

FF

Frazione di secondi

SSSSS

Millisecondi

J

Giorno Giuliano i.e Giorni dal 1 gennaio-4712BC a oggi

RR

Se l’anno è inferiore a 50 si assume l’anno come 21° secolo. Se l’anno è maggiore di 50 allora assume l’anno nel 20° secolo.

suffissi

TH

Riporta th, st, rd o nd secondo il numero principale come 1st , 2nd 3rd 4th

SP

Spiega il numero principale

AM o PM

Riporta AM o PM secondo l’ora

SPTH

Riporta il numero ordinale sillabato. Per. Esempio Primo, Quarto

Per esempio per vedere la data di oggi nel seguente formato

Venerdì, 7 marzo, 2014

Dare la seguente istruzione

select to_char(sysdate,’Day, ddth Month, yyyy’) “Today” da dual;

TODAY
————————
Venerdì, 7 marzo, 2014

Per esempio vuoi vedere le date di assunzione di tutti gli impiegati nel seguente formato

Venerdì, 8 agosto, 2003

Allora fai la seguente query.

select to_char(hire_date,’Day, ddth Month, yyyy’) from emp;

TO_DATE Esempio

La funzioneTo_Date è usata per convertire stringhe in valori di data. Per esempio volete vedere che giorno era il 15-aug-1947. Si usa la funzione to_date per convertire prima la stringa in valore di data e poi si passa questo valore alla funzione to_char per estrarre il giorno.

select to_char(to_date(’15-aug-1947′,’dd-mon-yyyy’),’Day’)
da dual;
TO_CHAR(
——–
Venerdì

Per vedere quanti giorni sono passati dal 15-aug-1947 dare la seguente query

select sysdate-to_date(’15-aug-1947′,’dd-mon-yyyy’) from dual;

Ora vogliamo vedere quale data si verificherà dopo 45 giorni da ora

select sysdate+45 from dual;
SYSDATE
——-
06-JUN-2003

ADD_MONTHS

Per vedere quale data si verificherà dopo 6 mesi da ora, possiamo usare la funzione ADD_MONTHS

Seleziona ADD_MONTHS(SYSDATE,6) da dual;
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

Per vedere quanti mesi sono passati da una data particolare, usate la funzione MONTHS_BETWEEN.
Per esempio, per vedere quanti mesi sono passati dal 15-aug-1947, date la seguente query.

select months_between(sysdate,to_date(’15-aug-1947′))
from dual;
Months
——
616.553

Per eliminare il valore decimale usare la funzione truncate

select trunc(months_between(sysdate,to_date(’15-aug-1947′)))
from dual;
Months
——
616

LAST_DAY

Per vedere l’ultima data del mese di una data data, usa la funzione LAST_DAY.

select LAST_DAY(sysdate) from dual;
LAST_DAY
——–
31-AUG-2003

NEXT_DAY

Per vedere quando un particolare giorno è prossimo, usate la funzione NEXT_DAY.
Per esempio, per vedere quando arriva il prossimo sabato, fate la seguente query

select next_day(sysdate) from dual;
NEXT_DAY
———–
09-AUG-2003

EXTRACT

Una funzione EXTRACT datetime estrae e restituisce il valore di un campo datetime specificato da un’espressione datetime o di valore di intervallo. Quando si estrae una TIMEZONE_REGION o TIMEZONE_ABBR (abbreviazione), il valore restituito è una stringa contenente il nome o l’abbreviazione del fuso orario appropriato

La sintassi della funzione EXTRACT è

EXTRACT ( YEAR / MONTH / WEEK / DAY / HOUR / MINUTE / TIMEZONE FROM DATE)
Esempio
Il seguente esempio dimostra l’uso della funzione EXTRACT per estrarre l’anno dalla data corrente.
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Archivi

  • Gennaio 2022
  • Dicembre 2021
  • Novembre 2021
  • Ottobre 2021
  • Settembre 2021

Meta

  • Accedi
  • Feed dei contenuti
  • Feed dei commenti
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Tema da ThemeinProgress | Offerto orgogliosamente da WordPress