martes, 31 de enero de 2012
Informix - Funciones de fecha
Las funciones de fecha de Informix acpetan argumentos DATE o DATETIME, o
una representacion en caracteres de un valor DATE o DATETIME. Tipicamente
devuelven valores DATE o DATETIME, o convierten los valores DATE o DATETIME
a cadenas de caracteres.
ADD_MONTHS
SELECT ADD_MONTHS(DATE('1986/08/24'), 2) FROM (SELECT LIMIT 1 1 FROM systables)
SELECT ADD_MONTHS(DATE('1986/08/24'), -2) FROM (SELECT LIMIT 1 1 FROM systables)
DATE
La funcion DATE convierte su argumento a un valor DATE. El argumento puede
ser cualquier expresion que pueda ser convertida a DATE, usualmente CHAR,
DATETIME, o INTEGER.
SELECT DATE('1986/08/24') FROM (SELECT LIMIT 1 1 FROM systables)
SELECT DATE(-1) FROM (SELECT LIMIT 1 1 FROM systables)
DAY, MONTH, YEAR
Recibe un argumento DATE o DATETIME y devuelve el dia del mes como un entero en
el rango de 1 al maximo numero de dias del mes en cuestion. Lo mismo aplica para
MONTH y YEAR respectivamente.
SELECT DAY(DATE('1986/08/24')) FROM (SELECT LIMIT 1 1 FROM systables)
SELECT MONTH(DATE('1986/08/24')) FROM (SELECT LIMIT 1 1 FROM systables)
SELECT YEAR(DATE('1986/08/24')) FROM (SELECT LIMIT 1 1 FROM systables)
WEEKDAY
Recibe un argumento DATE o DATETIME y devuelve un entero en el rango del 0 al 6
que representan el dia de la semana. Cero representa al Domingo, uno al lunes, etc.
SELECT WEEKDAY(DATE('1986/08/24')) FROM (SELECT LIMIT 1 1 FROM systables)
MONTHS_BETWEEN
SELECT MONTHS_BETWEEN(DATE('1987/08/24'), DATE('1986/08/24')) FROM (SELECT LIMIT 1 1 FROM systables)
LAST_DAY
Requiere una expresion DATE o DATETIME como argumento. Esta devuelve el ultimo
dia del mes que el argumento especifica.
SELECT DAY(LAST_DAY(DATE('1987/08/24'))) FROM (SELECT LIMIT 1 1 FROM systables)
NEXT_DAY
Requiere una expresion DATE o DATETIME como primer argumento, y requiere un segundo
argumento weekday que es una cadena en mayusculas representando la abreviatura de el
nombre en Ingles para un dia de la semana. Devuelve
SELECT NEXT_DAY(DATE('1986/08/24'), 'SAT') FROM (SELECT LIMIT 1 1 FROM systables)
MDY
SELECT MDY(1, 24, 1986) FROM (SELECT LIMIT 1 1 FROM systables)
TO_CHAR
Convierte una expresion que evalua DATE o DATETIME o un valor numerico a una
cadena de caracteres.
SELECT TO_CHAR(DATE('1986/08/24'), '%Y-%m-%d') FROM (SELECT LIMIT 1 1 FROM systables)
TO_DATE
Convierte una cadena de caracteres a un valor DATETIME.
SELECT TO_DATE('1986/08/24', '%Y/%m/%d') FROM (SELECT LIMIT 1 1 FROM systables)
Comparacion entre fechas
SELECT DATE('1986/08/24') > DATE('1984/08/24') FROM (SELECT LIMIT 1 1 FROM systables)