STR_TO_DATE
Sintaxis:
STR_TO_DATE(str,format)
Descripción:
Esta es la inversa de la función DATE_FORMAT(). Toma la cadena
str y la cadena de formato
format. STR_TO_DATE() devuelve un valor DATETIME si la cadena de formato contiene parte de fecha y hora, o un valor DATE o TIME si la cadena contiene sólo parte de fecha u hora.
Los valores fecha, hora o fecha/hora contenidos en
str deben ser dados en el formato indicado por
format. Para los especificadores que pueden usarse en
format, consulte la tabla en la descripción de la función DATE_FORMAT() . Todos los otros caracteres no se interpretan. Si
str contiene un valor fecha, hora o fecha/hora ilegal, STR_TO_DATE() retorna
NULL.
**Ejemplos**
SELECT STR_TO_DATE('03.10.2003 09.20','%d.%m.%Y %H.%i');
-> '2003-10-03 09:20:00'
El chequeo de rango en las partes de los valores de fecha se describe en Sección 11.3.1, “Los tipos de datos DATETIME, DATE y TIMESTAMP”. Esto significa, por ejemplo, que una fecha con una parte de día mayor que el número de días en un mes se permite mientras la parte del día esté en el rango de 1 a 31. También, fechas “cero” o fechas con partes de 0 se permiten.
SELECT STR_TO_DATE('00/00/0000', '%m/%d/%Y');
-> '0000-00-00'
SUBDATE
Sintaxis:
SUBDATE(DATE,INTERVAL expr TYPE), SUBDATE(expr,days)
Descripción:
Cuando se invoca con la forma
INTERVAL del segundo argumento, SUBDATE() es sinónimo de DATE_SUB(). Para información del argumento
INTERVAL , consulte la discusión para
DATE_ADD().
**Ejemplos**
Dime la fecha resultante de 31 dias antes de la fecha 1998-01-02
SELECT DATE_SUB('1998-01-02', INTERVAL 31 DAY);
----RESULTADO----
+-----------------------------------------+
| DATE_SUB('1998-01-02', INTERVAL 31 DAY) |
+-----------------------------------------+
| 1997-12-02 |
+-----------------------------------------+
SUBTIME
Sintaxis:
SUBTIME(expr,expr2)
Descripción:
SUBTIME() resta
expr2 de
expr y devuelve el resultado.
expr es una expresión de hora o fecha/
hora, y expr2 es una expresión de hora.
**Ejemplos**
SELECT SUBTIME('2014-02-04 23:59:59','1 1:1:1');
Devuelve-> '2014-02-03 22:58:58'
SELECT SUBTIME('02:00:00', '01:00:00');
Devuelve-> '01:00:00'
Cuidado a la hora de restar horas porque cuando expr2 es mayor que expr, el resultado devuelto es con valor negativo.
TIME
Sintaxis:
TIME(expr)
Descripción:
Extrae la parte de hora de la expresión hora o fecha/hora
expr.
**Ejemplos**
SELECT TIME('2014-02-01 01:02:03');
Devuelve-> '01:02:03'
WEEK
Sintaxis:
WEEK(DATE[,mode])
Descripción:
Esta función devuelve el número de semana para
date. La forma de dos argumentos de WEEK() le permite especificar si la semana comienza en lunes o domingo y si el valor de retorno debe estar en el rango de 0 a 53 o de 1 a 53. Si el argumento
mode se omite en MySQL 5.0, el valor de la variable de sistema default_week_format se usa.
La siguiente tabla describe cómo funciona el argumento
mode :
Modo |
Primer día de semana |
Rango |
Semana 1 es la primera semana... |
0 |
Domingo |
0-53 |
con un domingo en este año |
1 |
Lunes |
0-53 |
con más de 3 días este año |
2 |
Domingo |
1-53 |
con un domingo este año |
3 |
Lunes |
1-53 |
con más de 3 días este año |
4 |
Domingo |
0-53 |
con más de 3 días este año |
5 |
Lunes |
0-53 |
con un lunes en este año |
6 |
Domingo |
1-53 |
con más de 3 días este año |
7 |
Lunes |
1-53 |
con un lunes en este año |
Ejemplo
mysql> SELECT WEEK('1998-02-20');
-> 7
mysql> SELECT WEEK('1998-02-20',0);
-> 7
mysql> SELECT WEEK('1998-02-20',1);
-> 8
mysql> SELECT WEEK('1998-12-31',1);
-> 53
WEEKOFYEAR
Sintaxis:
WEEKOFYEAR(DATE)
Descripción:
Devuelve la semana de la fecha como número, con un rango del 1 a 53. Esta es una función de compatibilidad equivalente a
WEEK(date,3).
**Ejemplos**
A)Dime que semana ocupa la fecha 1997-06-14
B)Dime los nombres de los trabajadores contratados en la semana 12 del año.
A)SELECT WEEKOFYEAR('1997-06-14');
----RESULTADO----
+--------------------------+
| WEEKOFYEAR('1997-06-14') |
+--------------------------+
| 24 |
+--------------------------+
B)SELECT FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE WEEKOFYEAR(HIRE_DATE)=12;
----RESULTADO----
+------------+-----------+
| FIRST_NAME | LAST_NAME |
+------------+-----------+
| Sundar | Ande |
| Elizabeth | Bates |
| Alyssa | Hutton |
+------------+-----------+
CONVERT_TZ
Sintaxis:
CONVERT_TZ(dt,from_tz,to_tz)
Definición:
Convierte un valor
dt, de fecha y hora, de la zona horaria
from_tz dada a la zona de tiempos
to_tz y devuelve el valor resultante.
Las zonas horarias pueden ser especificadas como se describe en la sección "
soporte de zonas horarias en el servidor MySQL".
Esta función devuelve
NULL si el argumento es inválido.
Si el valor se sale fuera del rango soportado por el tipo
TIMESTAMP cuando se convierte desde
from_tz a UTC, no realizará ninguna conversión.
Tanto el rango
TIMESTAMP como otros se describen en la Sección "
Panorámica de tipos de fechas y hora”.
**Ejemplo**
SELECT CONVERT_TZ('2014-02-04 12:00:00','+00:00','-04:00');
Devuelve-> '2014-02-04 08:00:00'
Para usar zonas de tiempo con nombre como 'MET', la tabla de zonas de tiempo debe ser preparada convenientemente. Si no, devuelve
NULL.
Home^ Siguiente>