Zoeken…


Datum rekenen

Oracle ondersteunt DATE (inclusief tijd tot de dichtstbijzijnde seconde) en TIMESTAMP (inclusief tijd tot fracties van een seconde) datatypes, die rekenkundig (optellen en aftrekken) native toestaan. Bijvoorbeeld:

Om de volgende dag te krijgen:

select to_char(sysdate + 1, 'YYYY-MM-DD') as tomorrow from dual;

Om de vorige dag te krijgen:

select to_char(sysdate - 1, 'YYYY-MM-DD') as yesterday from dual;

Om 5 dagen toe te voegen aan de huidige datum:

select to_char(sysdate + 5, 'YYYY-MM-DD') as five_days_from_now from dual;

Om 5 uur toe te voegen aan de huidige datum:

select to_char(sysdate + (5/24), 'YYYY-MM-DD HH24:MI:SS') as five_hours_from_now from dual;

Om 10 minuten toe te voegen aan de huidige datum:

select to_char(sysdate + (10/1440), 'YYYY-MM-DD HH24:MI:SS') as ten_mintues_from_now from dual;

Om 7 seconden toe te voegen aan de huidige datum:

select to_char(sysdate + (7/86400), 'YYYY-MM-DD HH24:MI:SS') as seven_seconds_from_now from dual;

Om rijen te selecteren met een hire_date 30 dagen of meer:

select * from emp where hire_date < sysdate - 30;

Om rijen te selecteren waar de kolom laatst last_updated in het afgelopen uur is:

select * from logfile where last_updated >= sysdate - (1/24);

Oracle biedt ook het ingebouwde gegevenstype INTERVAL dat een tijdsduur vertegenwoordigt (bijvoorbeeld 1,5 dagen, 36 uur, 2 maanden, enz.). Deze kunnen ook worden gebruikt met rekenen met DATE en TIMESTAMP uitdrukkingen. Bijvoorbeeld:

select * from logfile where last_updated >= sysdate - interval '1' hour;

Functie Add_months

Syntaxis: add_months(p_date, integer) return date;

Add_months functie voegt amt maanden toe aan p_date datum.

SELECT add_months(date'2015-01-12', 2) m FROM dual;
M
2015/03/12

U kunt ook maanden aftrekken met een negatieve amt

SELECT add_months(date'2015-01-12', -2) m FROM dual;
M
2014/11/12

Wanneer de berekende maand minder dagen als opgegeven datum heeft, wordt de laatste dag van de berekende maand geretourneerd.

SELECT to_char( add_months(date'2015-01-31', 1),'YYYY-MM-DD') m FROM dual;
M
2015/02/28


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow