Volver | Más funciones esenciales

Table of Contents

CURDATE
CURTIME | CURRENT_TIME
DATE
DATE_FORMAT
TIME_FORMAT
NOW


CURDATE

Sintaxis:
CURDATE()
Descripción:
Devuelve la fecha horaria como valor en formato 'YYYY-MM-DD'.
**Ejemplos**
 
Dime la fecha de hoy
SELECT curdate();
----RESULTADO----
+------------+
| curdate()  |
+------------+
| 2014-02-04 |
+------------+


CURTIME | CURRENT_TIME

Sintaxis:
CURTIME()
CURRENT_TIME()
Descripción:
Ambas funciones devuelven la hora actual como valor en formato 'HH:MM:SS' o HHMMSS dependiendo de si la función se usa en un contexto numérico o de cadena de caracteres.
Normalmente se usará el primero de los formatos.
**Ejemplo**
 
Registra la hora en que buscaste la ciudad y país donde se encuentra el departamento IT
SELECT curtime(), CITY, COUNTRY_ID
FROM DEPARTMENTS JOIN LOCATIONS
ON (DEPARTMENTS.LOCATION_ID = LOCATIONS.LOCATION_ID)
WHERE DEPARTMENT_NAME='it';
 
----RESULTADO----
+-----------+-----------+------------+
| curtime() | CITY      | COUNTRY_ID |
+-----------+-----------+------------+
| 09:05:26  | Southlake | US         |
+-----------+-----------+------------+

Cuidado a la hora de escribir la query porque si no usamos una coma después de escribir la función, ésta se incluirá dentro del campo que tenga inmediatamente a continuación. Ejemplo:

SELECT curtime() CITY, COUNTRY_ID
FROM DEPARTMENTS JOIN LOCATIONS
ON (DEPARTMENTS.LOCATION_ID = LOCATIONS.LOCATION_ID)
WHERE DEPARTMENT_NAME='it';
 
----RESULTADO----
+----------+------------+
| CITY     | COUNTRY_ID |
+----------+------------+
| 09:09:21 | US         |
+----------+------------+


DATE

Sintaxis:
DATE(expr)
Descripción:
Extrae la parte de fecha de la expresión de fecha o fecha y hora expr.
**Ejemplos**
 
Dime la fecha de 1987-06-17 00:00:00
SELECT DATE('1987-06-17 00:00:00');
----RESULTADO----
+-----------------------------+
| DATE('1987-06-17 00:00:00') |
+-----------------------------+
| 1987-06-17                  |
+-----------------------------+


DATE_FORMAT

Sintaxis:
DATE_FORMAT(DATE,format)
Descripción:
Formatea el valor date según la cadena format. Los siguientes especificadores pueden usarse en la cadena
format:

Especificador Descripción
%a Día de la semana abreviado (Sun..Sat)
%b Mes abreviado (Jan..Dec)
%c Mes, numérico (0..12)
%D Día del mes con sufijo inglés (0th, 1st, 2nd, 3rd, ...)
%d Día del mes numérico (00..31)
%e Día del mes numérico (0..31)
%f Microsegundos (000000..999999)
%H Hora (00..23)
%h Hora (01..12)
%I Hora (01..12)
%i Minutos, numérico (00..59)
%j Día del año (001..366)
%k Hora (0..23)
%l Hora (1..12)
%M Nombre mes (January..December)
%m Mes, numérico (00.12)
%p AM o PM
%r Hora, 12 horas (hh:mm:ss seguido de AM o PM)
%S Segundos (00..59)
%s Segundos (00..59)
%T Hora, 24 horas (hh:mm:ss)
%U Semana (00..53), donde domingo es el primer día de la semana
%u Semana (00..53), donde lunes es el primer día de la semana
%V Semana (01..53), donde domingo es el primer día de la semana; usado con %X
%v Semana (01..53), donde lunes es el primer día de la semana; usado con %x
%W Nombre día semana (Sunday..Saturday)
%w Día de la semana (0=Sunday..6=Saturday)
%X Año para la semana donde domingo es el primer día de la semana, numérico, cuatro dígitos; usado con %V
%x Año para la semana donde lunes es el primer día de la semana, numérico, cuatro dígitos; usado con %v
%Y Año, numérico, cuatro dígitos
%y Año, numérico (dos dígitos)
%% Carácter '%' literal



Todos los otros caracteres se copian al resultado sin interpretación.
Tenga en cuenta que el carácter '%' se necesita antes de caracteres especificadores de formato.
Los rangos para los especificadores de mes y día comienzan en cero debido a que MySQL permite almacenar fechas incompletas tales como '2004-00-00'.
**Ejemplos**
 
 
Formatea el dia, mes y año de 1990-01-03
SELECT DATE_FORMAT('1990-01-03', '%W %M %Y');
----RESULTADO----
+---------------------------------------+
| DATE_FORMAT('1990-01-03', '%W %M %Y') |
+---------------------------------------+
| Wednesday January 1990                |
+---------------------------------------+


TIME_FORMAT

Sintaxis:
TIME_FORMAT(TIME,format)
Descripción:
Se usa como la función DATE_FORMAT() aunque la cadena format sólo puede contener especificadores de formato que manejan horas, minutos y segundos. Los otros especificadores producen un valor NULL o 0.
Si el valor time contiene una parte horaria mayor que 23, los especificadores de formato horario
%H y %k producen un valor mayor que el rango usual de 0..23. El resto de especificadores de hora
producen la hora módulo 12.

**Ejemplo**
SELECT TIME_FORMAT('22:00:00', '%H %k %h %I %l');
 
----RESULTADO----
+-------------------------------------------+
| TIME_FORMAT('22:00:00', '%H %k %h %I %l') |
+-------------------------------------------+
| 22 22 10 10 10                            |
+-------------------------------------------+


NOW

Sintaxis:
NOW()
Descripción:
Devuelve la fecha y la hora actual en formato 'YYYY-MM-DD HH:MM:SS' o YYYYMMDDHHMMSS, dependiendo de si la función se usa en contexto numérico o de cadena de caracteres.
Lo normal, es usar el primero de los formatos descritos anteriormente.

Otras funciones similares: CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP()

**Ejemplo**
 
Registra la fecha y hora en la que buscaste las direcciones de todas las oficinas que se
encuentran en Japón
SELECT NOW(), STREET_ADDRESS, POSTAL_CODE, CITY, COUNTRIES.COUNTRY_ID
FROM LOCATIONS JOIN COUNTRIES
ON (LOCATIONS.COUNTRY_ID = COUNTRIES.COUNTRY_ID)
WHERE COUNTRY_NAME LIKE 'Japan';
 
----RESULTADO----
+---------------------+------------------+-------------+-----------+------------+
| NOW()               | STREET_ADDRESS   | POSTAL_CODE | CITY      | COUNTRY_ID |
+---------------------+------------------+-------------+-----------+------------+
| 2014-02-25 09:20:47 | 2017 Shinjuku-ku | 1689        | Tokyo     | JP         |
| 2014-02-25 09:20:47 | 9450 Kamiya-cho  | 6823        | Hiroshima | JP         |
+---------------------+------------------+-------------+-----------+------------+



Home^ Siguiente>