23 - Funciones de fechas y horas |
Trabajamos con la tabla "libros" de una librería.
Eliminamos la tabla:
drop table libros;
Creamos la tabla:
create table libros( titulo varchar2(40) not null, autor varchar2(20) default 'Desconocido', editorial varchar2(20), edicion date, precio number(6,2) );
Ingresamos algunos registros:
insert into libros values('El aleph','Borges','Emece','10/10/1980',25.33);
insert into libros values('Java en 10 minutos','Mario Molina','Siglo XXI','05/05/2000',50.65);
insert into libros
values('Alicia en el pais de las maravillas','Lewis Carroll','Emece','08/09/2000',19.95);
insert into libros values('Aprenda PHP','Mario Molina','Siglo XXI','02/04/2000',45);
Mostramos el título del libro y el año de edición:
select titulo, extract (year from edicion) from libros;
Mostramos el título del libro y el mes de edición:
select titulo, extract (month from edicion) from libros;
Mostramos el título del libro y los años que tienen de editados:
select titulo, extract(year from sysdate)-extract(year from edicion) as "años de editado" from libros;
Mostramos los títulos de los libros que se editaron en el año 2000:
select titulo from libros where extract(year from edicion)=2000;
Calcule 3 meses luego de la fecha actual empleando ""add_months":
select add_months(sysdate,3) from dual;
Muestre la fecha del primer martes desde la fecha actual:
select next_day(sysdate,'martes') from dual;
Muestre la fecha que será 15 días después de "24/08/2018" empleando el operador "+":
select to_date('24/08/2018')+15 from dual;
Retorna 08/09/18.
Muestre la fecha que 20 días antes del "12/08/2018" empleando el operador "-":
select to_date('12/08/2018')-20 from dual;
Retorna 23/07/18.
drop table libros;
create table libros(
titulo varchar2(40) not null,
autor varchar2(20) default 'Desconocido',
editorial varchar2(20),
edicion date,
precio number(6,2)
);
insert into libros values('El aleph','Borges','Emece','10/10/1980',25.33);
insert into libros values('Java en 10 minutos','Mario Molina','Siglo XXI','05/05/2000',50.65);
insert into libros
values('Alicia en el pais de las maravillas','Lewis Carroll','Emece','08/09/2000',19.95);
insert into libros values('Aprenda PHP','Mario Molina','Siglo XXI','02/04/2000',45);
select titulo, extract (year from edicion) from libros;
select titulo, extract (month from edicion) from libros;
select titulo, extract(year from sysdate)-extract(year from edicion) as "años de editado"
from libros;
select titulo from libros
where extract(year from edicion)=2000;
select add_months(sysdate,3) from dual;
select next_day(sysdate,'martes') from dual;
select to_date('24/08/2018')+15 from dual;
select to_date('12/08/2018')-20 from dual;
La ejecución de este lote de comandos SQL genera una salida similar a:
