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)