Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/03/2005, 11:00
Zerjillo
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 19 años, 11 meses
Puntos: 1
Pues creo que directamente no hay metodo de saber el semestre, pero haciendo unas pocas cuentas podrias conseguir lo que te propones:

Código:
( (to_number (to_char (tabla.FECHA_TRANSACCION, 'mm')) - 1) / 6) + 1 as Semestre
El "-1" es para que los meses "empiecen" a contarse desde 0 (enero = 0). Luego divides entre 2 y eso te saldria 0 si estuvieras en el primer semestre y 1 en el segundo. Por último sumas 1 para conseguir que el primer semestre sea 1 y el segundo 2. Por supuesto, esto solo te funcionará si la division ( / ) es una division entera, es decir, que:

Código:
0 / 6 = 0
1 / 6 = 0
...
5 / 6 = 0
6 / 6 = 1
7 / 6 = 1
...
Si no fuera el caso tendrias que hacer algun casting a entero (no se la sintaxis exacta, pero seguro que hay una funcion del estilo "to_int"), en cuyo caso tendrias que hacer:

Código:
to_int( (to_number (to_char (tabla.FECHA_TRANSACCION, 'mm')) - 1) / 6) + 1 as Semestre
Espero que te sea util

Zerjillo