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)