Inicio de sesión

RSS

Distribuir contenido

En línea

En este momento hay 1 usuario y 8 invitados en línea.

Trabajar con Fechas en MySQL

MySQL es realmente potente con el cálculo y el tratamiento de las fechas. Para sacar el máximo rendimiento disponemos de las siguientes instrucciones.

CURDATE()
Esta función da la fecha del día.

Ejemplo:

SELECT CURDATE();

Obtenemos 2005-01-01, en el formato de fecha ‘Año-Mes-Día’ propio de MySQL.

Esta fecha sale en el formato año-mes-día que puede resultar un poco difícil de leer. Con DATE_FORMAT podemos dar formato a la salida del texto.

SELECT DATE_FORMAT(CURDATE(),'%d/%m/%y');

con lo que se obtiene el formato día/mes/año usual.

DAYNAME()
Dada una fecha, esta función da el nombre en inglés del día de la semana correspondiente.

Ejemplo:

SELECT DAYNAME(CURDATE());

Obtenemos por ejemplo, Sunday.

DAYOFWEEK()
Es complementaria de la anterior. En vez de darnos el nombre del día de la semana nos da un código numérico de 1 a 7. El código 1 representa el Domingo, el 2 el Lunes, y así hasta el 7 que representa el Sábado.

Ejemplo:

SELECT DAYOFWEEK(CURDATE());

Obtenemos por ejemplo un 2,que indica el lunes.

DATE_FORMAT()
Nos permite presentar las fechas en otros formatos. Los formatos que usaremos son '%d/%m/%y' y '%d/%m/%Y'.

Ejemplo:

SELECT DATE_FORMAT(CURDATE(),’%d/%m/%Y');

Produce 23/04/2005.

DATE_ADD()
Esta función nos permite agregar a una fecha cierto número de días ( o meses y años)

Ejemplo: ¿Cuál es la fecha de dentro de 15 días?

SELECT DATE_ADD(CURDATE(), INTERVAL 15 DAY);

también podriamos hacer

SELECT DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL 15 DAY) ,’%d/%m/%Y');

DATE_SUB()
Esta función le quita cierto número de días (o meses y años) a una fecha.

Ejemplo: ¿Cuál es la fecha de hace 15 días?

SELECT DATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL 15 DAY),’%d/%m/%Y');

DATEDIFF()
Esta función obtiene la diferencia, en días, entre dos fechas.

Ejemplo :

SELECT DATEDIFF(2005-4-23’,’2004-5-15);

YEAR(), MONTH() ,DAY()
extraen de una fecha el año, el mes y día correspondientes.

Ejemplo:
SELECT MONTH(2005-4-23);

sacando como resultado 4, el número del mes.

Autor

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Hola. Queria consultarles,

Hola. Queria consultarles, Quiero hacer una consulta en MySql donde tengo listar en un intrevalo de fecha, lo q hice fue:
select * from TABLA
where
FECHAIN > "01/01/2001" and FECHAFIN < "01/01/206";
pero esto no funciona creo q el problema esta en el formato, Gracias

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <b> <h2> <h3> <tt> <blockcode>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • Saltos automáticos de líneas y de párrafos.
  • Every instance heading tags will be modified to include an id attribute for anchor linking.
  • Se pueden agregar imágenes a este envío.
  • Every instance of "<!--tableofcontents-->" in the input text will be replaced with a collapsible mediawiki-style table of contents. Accepts options for title, list style, minimum heading level, and maximum heading level as follows: <!--tableofcontents list: ol; title: Table of Contents; minlevel: 1; maxlevel: 3;-->. All arguments are optional and defaults are shown.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta es para verificar que eres humano y así mismo eviar el SPAM.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.

Publicidad