Manejando Fechas con Firebird e Interbase 6+ (Parte I)
Uno de los dolores de cabeza para los que empiezan con Firebird e Interbase, es el manejo de fechas, a continuación trataré de explicar las funciones básicas. Básicamente todas las funciones están construidas bajo la sentencia EXTRACT() de SQL. Hay cinco datos que se pueden extraer desde una fecha, que son:
- WEEKDAY := Día de la Semana (devuelve un valor Integer).
- DAY := Que devuelve el día correspondiente a una fecha (devuelve un valor Integer).
- MONTH := Que devuelve el mes correspondiente a una fecha (devuelve un valor Integer).
- YEAR := Que devuelve el año correspondiente a una fecha (devuelve un valor Integer).
- YEARDAY := Que devuelve el no. de día correspondiente al año (devuelve un valor Integer).
SELECT EXTRACT(WEEKDAY FROM FECHA) FROM EGRESOS
el resultado de esa sentencia debería resultar así: 0 = Domingo, 1 = Lunes, 2 = Martes... 6 = Sábado en formato Americano, utilizando el formato ISO 8601 Standard debería ser así: 1 = Lunes, 2 = Martes... 7 = Domingo, veamos otro ejemplo más detallado:
SELECT
FECHA,
EXTRACT( WEEKDAY FROM FECHA) AS AMERICAN,
EXTRACT( WEEKDAY FROM FECHA - 1) + 1 AS ISO8601
FROM EGRESOS;
Eso es todo por el momento, más adelante publico la segunda parte de este pequeño tutorial.
Saludos.
el resultado de esa sentencia debería resultar así: 0 = Domingo, 1 = Lunes, 2 = Martes... 6 = Sábado en formato Americano, utilizando el formato ISO 8601 Standard debería ser así: 1 = Lunes, 2 = Martes... 7 = Domingo, veamos otro ejemplo más detallado:
SELECT
FECHA,
EXTRACT( WEEKDAY FROM FECHA) AS AMERICAN,
EXTRACT( WEEKDAY FROM FECHA - 1) + 1 AS ISO8601
FROM EGRESOS;
FECHA | AMERICAN | ISO8601 |
29-NOV-2001 | 4 | 4 |
30-NOV-2001 | 5 | 5 |
1-DEC-2001 | 6 | 6 |
2-DEC-2001 | 0 | 7 |
3-DEC-2001 | 1 | 1 |
4-DEC-2001 | 2 | 2 |
5-DEC-2001 | 3 | 3 |
Eso es todo por el momento, más adelante publico la segunda parte de este pequeño tutorial.
Saludos.
2 comentarios:
cojonudo
Lo que se esta haciendo, es una simulacion.
El concepto, esta bien,... pero no sirve el ejemplo, para solventar el problema
saludos
Publicar un comentario