Top Ad unit 728 × 90

Recientes

recent

Funciones Fecha y Hora en MySQL

Este artículo de cristalab (http://www.cristalab.com/tutoriales/fechas-con-mysql-c84136l/) me pareció muy bueno, así que lo comparto con ustedes también:

El manejo de fechas en MySQL es extenso así que solo haré una introducción a las funciones de fechas. Para ejecutar las siguientes querys yo recomiendo usar "mysqlworkbench".


Obtener la fecha y hora en MySQL

Código :
select now();   #   ejemplo:  '2010-01-12 10:50:43'

Obtener solo día mes y año en MySQL

Código :
select CURDATE();  # ejemplo: '2010-01-12'  #sin hora

Obtener hora actual en MySQL

Código :
select curTime(); #Selecciona la hora

Obtener día, mes, año, u hora de una fecha en MySQL


El formato de la fecha debe ser YYYY-MM-DD HH:MM:SS, aunque para obtener el año, mes o día solo es necesario YYYY-MM-DD
Código :
select YEAR(NOW());  #Selecciona el año
select MONTH (NOW()) as mes;  #Selecciona el mes
select DAY(NOW()) as dia; #Selecciona el día 
select TIME(NOW()) as hora;  #Selecciona la hora
Select LAST_DAY(NOW()); # Selecciona el ultimo dia del mes

También existe MICROSECOND, SECOND, MINUTE, HOUR, MONTHNAME, etc. 

Dar formato a una fecha en MySQL


Para esto usamos Date_format, DATE_FORMAT(fecha,formato); ejemplo:
Código :
select Date_format(now(),'%Y/%M/%d'); # '2010/January/12'
select Date_format(now(),'%Y-%M-%d %h:%i:%s %p'); #'2010-January-12 12:34:29 AM'
select Date_format(now(),'%W %d %M %Y'); # 'Tuesday 12 January 2010'
select Date_format(now(),'El año actual es %Y'); # 'El año actual es 2010'

Estos son algunos de los especificadores que tenemos disponibles para dar formato a una fecha, la lista completa pueden verla en los manuales de MySql:
Código :
- %d #Día del mes numérico (00...31)
- %H #Hora (00...23)
- %h #Hora (01...12)
- %i #Minutos, numérico (00...59)
- %M #Nombre mes (January...December)
- %m #Mes, numérico (00...12)
- %p #AM o PM
- %W #Nombre día semana (Sunday...Saturday)
- %Y #Año, numérico, cuatro dígitos
- %y #Año, numérico (dos dígitos)
- %s #Segundos (00...59)


Sumar o restar días a una fecha con DATE_ADD o DATE_SUB en MySQL


DATE_ADD(fecha,INTERVAL valor tipo), DATE_SUB(fecha,INTERVAL valor tipo)

Sumar tiempo en MySQL

Código :
select DATE_ADD(NOW(),INTERVAL 20 DAY); # Agrega 20 días a la fecha actual
select DATE_ADD(NOW(),INTERVAL 30 MINUTE); # Agrega 30 minutos a la fecha actual
select DATE_ADD(NOW(),INTERVAL 50 YEAR); #Agrega 50 años a la fecha actual
select DATE_ADD(NOW(),INTERVAL '10-5' YEAR_MONTH); #Agrega 10 años 5 meses a la fecha actual
Restar tiempo en MySQL
Código :
select DATE_SUB(NOW(),INTERVAL 8 YEAR); #Resta 8 años a la fecha actual 
select DATE_SUB(NOW(),INTERVAL 24 HOUR); #Resta 24 horas a la fecha actual
select DATE_SUB(NOW(),INTERVAL '7-2' YEAR_MONTH); #Resta 7 años dos meses a la fecha actual

Estos son algunos de los argumentos que podemos usar, para una lista completa consulten los manuales de MySql
Código :
SECOND #Segundos
MINUTE #Minutos
HOUR #Horas
DAY #Días
MONTH #Meses
YEAR #Años
YEAR_MONTH #'Años-meses'
DAY_HOUR #'Días Horas'

Restar dos fechas

DATEDIFF(fecha_1,fecha_2) devuelve el número de días entre la fecha fecha_1 y la fecha_2
Código :
SELECT DATEDIFF(NOW(),'2002-11-02'); #cuantos días han pasado
SELECT DATEDIFF(NOW(),'2010-03-20'); #Cuantos días faltan
Funciones Fecha y Hora en MySQL Reviewed by Juan Carlos Arcila Díaz on 13:05 Rating: 5

No hay comentarios:

All Rights Reserved by www.IncanatoIT.com - Desarrollando Software © 2014 - 2015
Powered By Blogger, Designed by Sweetheme

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

IncanatoIt.com. Con la tecnología de Blogger.