MANEJO DE FECHAS
MANEJO DE FECHAS
Crear la siguiente base de datos
Create database fechas;
Use fecha;
Mysql> create table ejercicio
-> (código char (10) primary key, nombre char (30), sexo char (10), nacimiento date, hijos char (2));
Query OK, 0 rows affected (0.08 sec)
MySQL> describe ejercicio;
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| codigo | char(10) | YES | | NULL | |
| nombre | char(30) | YES | | NULL | |
| sexo | char(10) | YES | | NULL | |
| nacimiento | date | YES | | NULL | |
| hijos | char(2) | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
5 rows in set (0.09 sec)
mysql> insert into ejercicio(codigo,nombre,sexo,nacimiento,hijos) values('22663355','Angel Cuadrado','hombre','1966-05-13','0');
Query OK, 1 row affected (0.00 sec)
Ingresar Todos Estos Datos
+------------+-------------------+--------+------------+-------+
| codigo | nombre | sexo | nacimiento | hijos |
+------------+-------------------+--------+------------+-------+
| 22663355 | Angel Cuadrado | hombre | 1966-05-13 | 0 |
| 1188996633 | Yoreida María | mujer | 1978-03-05 | 2 |
| 4488663322 | Jorge Fuentes | hombre | 1980-06-22 | 2 |
| 0022559966 | Eder Pulgar | hombre | 1960-02-20 | 6 |
| 0822559966 | Mariana Gonzalez | mujer | 1982-03-24 | 1 |
| 556959966 | Angela Ruiz | mujer | 1977-11-15 | 1 |
| 0028957446 | Juan Carlos Serpa | hombre | 1982-11-25 | 2 |
| 9999957446 | Carlota Sonora | mujer | 1985-11-03 | 4 |
+------------+-------------------+--------+------------+-------+
COMANDO PARA EL MANEJO DE FECHAS
CURRENT_DATE
select curren_date();
Muestra La Fecha Del Sistema
mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2010-11-30 |
+----------------+
Muestra el año del sistema
year
select year (current_date());
+----------------+
| current_date() |
+----------------+
| 2010 |
+----------------+
Muestra el mes del sistema
Month
Select month (current_date());
+----------------+
| current_date() |
+----------------+
| 12 |
+----------------+
Muestra el día del sistema
Day
Select day(current_date());
+----------------+
| current_date() |
+----------------+
| 01 |
+----------------+
PUEDE HACER INTERVALOS DE DIAS, MESES O AÑOS
Intervalo De 15 Dias
MySQL> select date_add(current_date(),interval 15 day);
3 meses/ 3 month
5 años/ 5 year
COMANDOS
DATE_ADD O ADDDATE
Para saber cuantos días hemos vivido en la faz de la tierra
MySQL> select datediff (current_date(),'1983-01-22');
Cuantos días tengo hoy
datediff arroja resultado o diferencia en días :año, mes, día
PARA SABER CUANTOS AÑOS TIENE CADA UNO A LA FECHA
mysql> select nombre, year(current_date()) - year(nacimiento) from ejercicio;
MUESTRA LA EDAD APROXIMADA
mysql> select nombre, year(current_date()) - year(nacimiento) 'edad' from ejercicio;
+-------------------+------+
| nombre | edad |
+-------------------+------+
| carlos ramirez | 41 |
| marina ruiz | 32 |
| Veronica gonzalez | 28 |
| Isabel Betancur | 33 |
| Gladys Bermúdez | 31 |
| Sandra Henao | 28 |
| Mario Gómez | 28 |
| Andrea Gutiérrez | 25 |
| Carlos Sepúlveda | 36 |
| Fernando Pérez | 30 |
| Juliana Arredondo | 22 |
+-----------------+------+
VISUALIZAR LAS PERSONAS CUYO NOMBRE TERMINA EN A
mysql> select nombre from ejercicio where sexo='mujer' and nombre like '%a';
+----------------+
| nombre |
+----------------+
| Yoreida María |
| Carlota Sonora |
+----------------+
2 rows in set (0.02 sec)
CUANTAS PERSONAS SON MUJERES Y SU NOMBRE TERMINA EN A
MySQL> select count(*)from ejercicio where sexo='mujer' and nombre like '%a';
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (0.00 sec)
CUANTAS PERSONA NACIERON ENTRE 1960 Y 1969
MySQL> select count(*) from ejercicio where year(nacimiento) between '1960'and 1969;
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (0.03 sec)
VISUALIZAR TODA LA INFORMACION DE LAS PERSONAS QUE TIENEN ENTRE 28 Y 33 AÑOS
MySQL> select * from ejercicio where year(current_date()) - year(nacimiento) between '28' and 33';
+------------+-------------------+--------+------------+-------+
| codigo | nombre | sexo | nacimiento | hijos |
+------------+-------------------+--------+------------+-------+
| 1188996633 | Yoreida María | mujer | 1978-03-05 | 2 |
| 4488663322 | Jorge Fuentes | hombre | 1980-06-22 | 2 |
| 0822559966 | Mariana Gonzalez | mujer | 1982-03-24 | 1 |
| 0028957446 | Juan Carlos Serpa | hombre | 1982-11-25 | 2 |
+------------+-------------------+--------+------------+-------+
4 rows in set (0.01 sec)
Calcular El Total De Hijos
mysql> select sum(hijos) from ejercicio;
+------------+
| sum(hijos) |
+------------+
| 18 |
+------------+
1 row in set (0.00 sec)
Contar Y Agrupar La Información Por Número De Hijos
MySQL> select hijos,count(*) from ejercicio group by hijos;
+-------+----------+
| hijos | count(*) |
+-------+----------+
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
| 4 | 1 |
| 6 | 1 |
+-------+----------+
5 rows in set (0.00 sec)
Contar Cuantas Personas Tienen <= A 28 Años Y Su Sexo Sea Mujer
MySQL> select count(*) from ejercicio where year(current_date)-year(nacimiento)<
=28 and sexo='mujer';
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)