Skip to content

Archives

  • ianuarie 2022
  • decembrie 2021
  • noiembrie 2021
  • octombrie 2021
  • septembrie 2021

Categories

  • Nicio categorie
Trend RepositoryArticles and guides
Articles

Tutorial pentru Oracle DBA

On ianuarie 1, 2022 by admin
Formarea datelor în Oracle
  • Funcții și operatori de date.
  • SYSDATE Exemplu
  • CURRENT_DATE Exemplu
  • SYSTIMESTAMP Exemplu
  • MODELE DE FORMAT DE DATA
  • TO_DATE Exemplu
  • ADD_MONTHS
  • MONTHS_BETWEEN
  • LAST_DAY
  • NEXT_DAY
  • EXTRACT

Funcții și operatori de date.

Pentru a vedea data și ora sistemului folosiți următoarele funcții :

CURRENT_DATE :returnează data curentă în fusul orar al sesiunii, într-o valoare în calendarul gregorian de tip
DATE
SYSDATE :Returnează data și ora curentă.
SYSTIMESTAMP :Funcția SYSTIMESTAMP returnează data sistemului, inclusiv fracțiunile de secundă și fusul orar
din baza de date. Tipul de returnare este TIMESTAMP WITH TIME ZONE.

SYSDATE Exemplu

Pentru a vedea data și ora curentă a sistemului dați următoarea interogare.

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

Formul în care este afișată data depinde de parametrul NLS_DATE_FORMAT.

De exemplu, setați NLS_DATE_FORMAT în următorul format

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

Apoi dați următoarea instrucțiune

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

Setarea implicită a NLS_DATE_FORMAT este DD-MON-YY

CURRENT_DATE Exemplu

Pentru a vedea data și ora curentă a sistemului cu fusul orar folosiți funcția CURRENT_DATE

ALTER SESSION SET TIME_ZONE = ‘-4:0’;
ALTER SESSION 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 Exemplu

Pentru a vedea data și ora curentă a sistemului cu fracțiuni de secundă cu fus orar dați următoarea instrucțiune

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

MODELE DE FORMAT DE DATA

Pentru a traduce data într-un șir de format diferit puteți utiliza funcția TO_CHAR cu format de dată. De exemplu, pentru a vedea ziua curentă, puteți da următoarea interogare

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

Pentru a traduce o valoare de caracter, care este în alt format decât formatul de dată implicit, într-o valoare de dată, puteți utiliza funcția TO_DATE cu formatul de dată la dată

Ca acest model de format „DAY” există multe alte modele de format de dată disponibile în Oracle. Tabelul următor enumeră modelele de formate de date.

.

.

.

.

.

FORMAT

SEMNIFICAȚIE

D

Ziua săptămânii

DD

Ziua lunii

DDD

Ziua anului

Ziua

Ziua

Ziua întreagă, de ex. „luni”, „marți”, „miercuri”

Ziua

Ziua în trei litere de ex. ‘MON’, ‘TUE’,’FRI’

W

Săptămâna lunii

WW

WW

Săptămâna anului

MM

Luna în două cifre (1-Jan, 2-Feb,…12-Dec)

MON

Luna în trei caractere, cum ar fi „Jan”, „Feb”, „Apr”

MONTH

Luna completă, cum ar fi „January”, „February”, „April”

RM

Luna în caractere romane (I-XII, I-Jan, II-Feb,…XII-Dec)

Q

Quartierul lunii

YY

Ultimele două cifre ale anului.

YYYY

Anul complet

ANUL

Anul în cuvinte precum „Nouăsprezece Nouăzeci și nouă”

HH

Orele în format de 12 ore

HH12

Orele în format de 12 ore

HH24

Ora în format 24 de ore

MI

Minute

SS

Secunde

FF

Secunde fracționare

SSSSS

Milisecunde

J

Ziua iuliană i.adică zile de la 1 ianuarie-4712 î.Hr. până în prezent

RR

Dacă anul este mai mic de 50, se presupune că anul este secolul XXI. Dacă anul este mai mare de 50 atunci se presupune că anul este în secolul 20.

sufixe

TH

Întoarce th, st, rd sau nd în funcție de numărul din față ca 1st , 2nd 3rd 4th

SP

Spune numărul principal

AM sau PM

Întoarce AM sau PM în funcție de oră

SPTH

Întoarce numărul ordinal silabisit. Pentru. Exemplu First, Fourth

De exemplu, pentru a vedea data de astăzi în următorul format

Vineri, 7 martie, 2014

Dați următoarea instrucțiune

select to_char(sysdate,’Day, ddth Month, yyyy’) „Today” from dual;

TODAY
————————
Vineri, 7 martie, 2014

De exemplu, doriți să vedeți datele de angajare ale tuturor angajaților în următorul format

Vineri, 8 august, 2003

Apoi dați următoarea interogare.

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

TO_DATE Exemplu

Funcția

To_Date este utilizată pentru a converti șirurile de caractere în valori de date. De exemplu, doriți să vedeți care a fost ziua din 15-aug-1947. Se utilizează funcția to_date pentru a converti mai întâi șirul de caractere în valoare de dată și apoi se trece această valoare la funcția to_char pentru a extrage ziua.

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

Pentru a vedea câte zile au trecut de la 15-aug-1947 atunci dați următoarea interogare

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

Acum vrem să vedem ce dată va avea loc după 45 de zile de acum încolo

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

ADD_MONTHS

Pentru a vedea ce dată va avea loc după 6 luni de acum înainte, putem folosi funcția ADD_MONTHS

Select ADD_MONTHS(SYSDATE,6) from dual;
ADD_MONTHS
———-
22-OCT-2003

MONTHS_BETWEEN

Pentru a vedea câte luni au trecut de la o anumită dată, folosiți funcția MONTHS_BETWEEN.
De exemplu, pentru a vedea câte luni au trecut de la 15-aug-1947, dați următoarea interogare.

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

Pentru a elimina valoarea zecimală folosiți funcția truncate

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

LAST_DAY

Pentru a vedea ultima dată a lunii unei anumite date, utilizați funcția LAST_DAY.

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

NEXT_DAY

Pentru a vedea când va urma o anumită zi , utilizați funcția NEXT_DAY.
De exemplu, pentru a vedea când vine sâmbăta viitoare, dați următoarea interogare

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

EXTRACT

O funcție datetime EXTRACT extrage și returnează valoarea unui câmp datetime specificat dintr-o expresie datetime sau valoare de interval. Atunci când extrageți un TIMEZONE_REGION sau TIMEZONE_ABBR (abreviere), valoarea returnată este un șir de caractere care conține numele sau abrevierea corespunzătoare a fusului orar

Sintaxa funcției EXTRACT este

EXTRACT ( YEAR / MONTH / WEEK / DAY / HOUR / MINUTE / TIMEZONE FROM DATE)
Exemplu
În cele ce urmează se demonstrează utilizarea funcției EXTRACT pentru a extrage anul din data curentă.
select extract(year from sysdate) from dual;
EXTRACT
——-
2003

.

Lasă un răspuns Anulează răspunsul

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Arhive

  • ianuarie 2022
  • decembrie 2021
  • noiembrie 2021
  • octombrie 2021
  • septembrie 2021

Meta

  • Autentificare
  • Flux intrări
  • Flux comentarii
  • 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 | Theme by ThemeinProgress | Proudly powered by WordPress