Oracle - Problemas Decode(to_char....

 
Vista:

Problemas Decode(to_char....

Publicado por habermas (3 intervenciones) el 28/02/2007 13:15:32
Buenas a todos:

Esto intentando hacer un decode de una función de fecha y no me está devolviendo datos correctos.
El caso es que yo intento hacer:
Select decode(to_char(campo_fecha, 'day'), 'monday', 'lunes', 'tuesday', 'martes', ..........) y me devuelve valor nulo en todos los casos excepto en el miercoles, es una cosa muy rara, no recuerdo que nunca me hubiera pasado nada así.......

Alguien me puede echar un cable, estoy desesperado con esta "tontería"....

Muchas gracias a todos de antemano.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas Decode(to_char....

Publicado por mad (88 intervenciones) el 28/02/2007 14:31:37
Select decode(to_char(campo_fecha, 'day'), 'monday', 'lunes', 'tuesday', 'martes', ..........)

Me imagino que en campo_fecha es la de hoy, por eso siempre de retorna un valor. En el decode te falta la condicion (igual que un CASE) si quieres hacer algo con el.

Con esta select te retorna el nombre del dia

SELECT TO_CHAR(SYSDATE,'DAY') FROM DUAL;

Realmente no sé para que haces el decode, pero si lo que quieres es el nombre del dia con la de arriba te vale, si lo que quieres es, no se, cambiar de color un item segun el dia deberias hacer algo asi:

Select decode(to_char(campo_fecha, 'day'), 'monday', rojo ,'lunes',verde, ..........);

Espero te aclare algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Decode(to_char....

Publicado por algarpa (9 intervenciones) el 28/02/2007 14:50:58
Hola,
Supongo que lo que pretendes es que te devuelva el dia de la semana en español y no en inglés, para la fecha que introduces en campo_fecha. Yo probaría a hacer esta select:
Select to_char(campo_fecha, 'day'),
decode (to_char(campo_fecha, 'day'),
'monday', 'lunes',
'tuesday', 'martes', ..........)
y así puedes comprabar el valor que te está devolviendo el to_char. De todas formas otra cosa que te puede estar pasando es que campo_fecha corresponda al sysdate, al dia de hoy y como hoy es miércoles siempre te está devolviendo eso.
Si esto no soluciona nada puedes volver a explicarlo a ver si es que no lo he entendido bien. Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas Decode(to_char....

Publicado por habermas (3 intervenciones) el 01/03/2007 22:48:36
Buenas de nuevo:

Muchas gracias a los dos por vuestra ayuda. En realiadad algo de lo que deciais cada uno de vosotros es lo que necesitaba. Quería recuperar un campo fecha agrupado por el día de la semana para lo que utilizaba el casteo del to_char, y además lo quería poner en español, para lo que utilizaba el decode, y el problema es que el to_char me estaba rellenando a blancos por la derecha hasta 9 caracteres, por lo que sólo me recuperaba y traducía el miercoles (wednesday) que es el único que tiene 9 caracteres. Aún así he descubierto un par de cosas investigando en manuales que yo desconocía que existían, y es en la misma funcìón to_char poner 'D' en lugar de 'Day', lo que te devuelve el día en número (lo que hace más fácil el order by) y además hay otra función 'nls_date_language = spanish', que directamente te lo traduce y te lo da en español.
Muchas gracias de nuevo y espero haberos servido a vosotros también para aprender alguna cosa más si es que no conociais estas funciones, que seguro que sí....
Maña estaré de nuevo por aquí porque tengo problemas con un par de reports que me están volviendo un poco loco y seguro que es por una tontería con la que no consigo dar.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar