Sunteți pe pagina 1din 2

Vocabulary

A function that returns the current date and time of the database server.-SYSDATE
Funcția SYSDATE în Oracle este utilizată pentru a obține data și ora curente de pe
serverul de bază de date.
Add calendar months to date- ADD_MONTHS
Funcția ADD_MONTHS este folosită pentru a adăuga (sau scădea, dacă se utilizează
valori negative) un număr specificat de luni la o dată dată.
Last day of the month- LAST_DAY
Funcția LAST_DAY returnează data ultimei zile a lunii pentru o dată specificată.
Next day of the date specified- NEXT_DAY
: Funcția NEXT_DAY returnează data primei apariții a unei zile specificate (de
exemplu, "Duminică") după o dată dată.
Number of months between due dates- MONTHS_BETWEEN
Funcția MONTHS_BETWEEN calculează diferența în luni dintre două date.

Try It / Solve It

1.SELECT name, event_date, ROUND(MONTHS_BETWEEN(SYSDATE, event_date)) as "number of


months"
FROM d_events
WHERE name = 'Vigil wedding';
Selecționează numele, data evenimentului și diferența de luni (rotunjită) dintre
data curentă și data evenimentului pentru evenimentul numit "Vigil wedding".

2.SELECT TO_DATE('20-Sep-2016', 'dd-Mon-yyyy') - TO_DATE('05-Jun-2016', 'dd-Mon-


yyyy') as "Actual Days", ROUND( MONTHS_BETWEEN(TO_DATE('20-Sep-2016', 'dd-Mon-
yyyy'), TO_DATE('05-Jun-2016', 'dd-Mon-yyyy'))*30.5, 0) as "Days"
FROM dual;
Calculează numărul de zile dintre două date specifice și estimează acest număr
folosind o medie de 30.5 zile pe lună.

3.SELECT TO_DATE('31-Dec-2016', 'dd-Mon-yyyy') - TO_DATE('01-Jan-2016', 'dd-Mon-


yyyy') as "Actual Days"
FROM dual;
Calculează numărul exact de zile dintre 1 ianuarie 2016 și 31 decembrie 2016.
4.SELECT ROUND(SYSDATE,'MONTH') AS Month, ROUND(SYSDATE,'YEAR') AS YEAR,
TRUNC(SYSDATE,'MOTH') ASMonth, TRUNC(SYSDATE,'YEAR') AS Year
FROM Dual;
5.SELECT LAST_DAY(To_date('01-Jun-2005', 'dd-Mon-yyyy'))
FROM dual;
Returnează ultima zi a lunii pentru data 1 iunie 2005.

6.SELECT first_name, last_name , ROUND(MONTHS_BETWEEN(SYSDATE, birthdate)/12) "No


of Years"
FROM f_staffs
WHERE first_name || ' ' || last_name = 'Bob Miller';
Selecționează numele, prenumele și vârsta aproximativă (bazată pe luni) pentru
persoana numită "Bob Miller".

7.SELECT TO_CHAR(ADD_MONTHS(SYSDATE, 6),'dd-Mon-yyyy (DY)') as "Appointment"


FROM dual;
Adaugă 6 luni la data curentă și formatează rezultatul.

8.SELECT TO_CHAR(LAST_DAY(SYSDATE),'dd-Mon-yyyy (Day)') as "Deadline"


FROM dual;
Returnează ultima zi a lunii curente.
9.
10.SELECT TO_DATE('11/05/2016','mm/dd/yyyy') "B'Day current year",
NEXT_DAY(TO_DATE('11/05/2016','mm/dd/yyyy'), 'Friday') "First Friday"
FROM dual;
Selecționează data specificată și următoarea vineri după acea dată.

11.MONTHS_BETWEEN
12.ADD_MONTH
13.Sa zicem ca trebuie sa imi platesc credirul in fiecare zi de 9 a lunii, dar acea
zi este in weekend sau banca se afla in vacanta, voi plati urmatoarea zi de luni
sau cand vacanta se termina.

Extension Exercises
1.SELECT ROUND(86.678, 2)
FROM dual;
2.SELECT UPPER(title) "DJs on Demand Collections"
FROM d_cds
WHERE cd_number IN( 90, 91);
Selecționează titlurile (convertite la majuscule) din tabelul d_cds pentru
înregistrările unde cd_number este 90 sau 91.

3.SELECT LOWER(last_name) || UPPER(SUBSTR(first_name, 1,1) ) "User Passwords"


FROM d_partners;
Formează o parolă presupusă combinând numele de familie (convertit la minuscule) cu
prima literă a prenumelui (convertită la majuscule) din tabelul d_partners.

4.SELECT UPPER(REPLACE( 'It''s a small world' , 'It''s a small', 'hello' )) as


converted
FROM dual;
Înlocuiește fraza "It's a small" cu "hello" și apoi convertește întregul șir la
majuscule.

5.SELECT REPLACE('fiddledeedum', 'dum') || REPLACE('fiddledeedee', 'fiddle')


"Non-sense"
FROM dual;
Înlocuiește "dum" din primul șir și "fiddle" din al doilea șir, apoi concatenează
cele două șiruri rezultate.

6.SELECT REPLACE('Mississippi ', 'i', '$') "Converted"


FROM dual;
Înlocuiește toate aparițiile literei "i" cu "$" în șirul "Mississippi".

7.SELECT TRUNC(5332.342, -2) as "Truncated", ROUND(5332.342, -2) as "Rounded"


FROM dual;
Prima valoare trunchează numărul 5332.342 la cele mai apropiate sute (fără a
rotunji), în timp ce a doua valoare rotunjește același număr la cele mai apropiate
sute.

8.SELECT TRUNC(3.14159 , 2) as "Truncated", ROUND(3.14159 , 2) as "Rounded"


FROM dual;
Prima valoare trunchează numărul 3.14159 la două zecimale (fără a rotunji), în timp
ce a doua valoare rotunjește același număr la două zecimale.

S-ar putea să vă placă și