Los meses con letra en vez de números en SQL

varuk

Buenas.

Tengo esta consulta, por ejemplo:

SELECT campo1 , EXTRACT(MONTH from fecha) AS mes
FROM TABLA;

Bien, el resultado sería algo así:

campo1 | mes


fila1...... 4
fila2...... 12
fila3...... 3

Mi duda es: ¿Cómo poner la columna de los meses para que salga el nombre del mes en letra en vez de año?

Estoy trabajando en Oracle, pero si lo sabéis en otra forma me puede valer para intentar buscar alguna forma parecida, más vale algo que nada.

Muchas gracias.
^^

HiGher

SELECT campo1, to_char(EXTRACT(MONTH from fecha), 'MONTH' ) AS mes FROM tabla;

A ver si esto te vale.

1 respuesta
R3DKNIF3

Asi a lo cutre que se m ocurre un Decode

DECODE(EXTRACT(MONTH from fecha), 1, 'Enero', 2, 'Febrero', 3,...) ...

1 respuesta
varuk

#2 Eso lo había probado ya:

ORA-01481: invalid number format model

  1. 00000 - "invalid number format model"
    Cause: The user is attempting to either convert a number to a string
    via TO_CHAR or a string to a number via TO_NUMBER and has
    supplied an invalid number format model parameter.
    Action: Consult your manual.

xDD.

#3 Eso sí va, aunque es... pero bueno, mientras encuentro algo, que habrá, menos engorroso me sirve.

Muchas gracias a los dos ^^

1 respuesta
elkaoD

#4 y por qué lo estás intentando parsear en el SGBD y no en el código del programa?

1 respuesta
varuk

#5 ¿Y quién ha dicho que esté haciendo un programa? (A lo mejor solo estoy aprendiendo a hacer consultas) : P

1 respuesta
elkaoD

#6 entiendo. Pues entonces ten en cuenta para un futuro que lo más normal es que eso no se haga con consultas, aunque se pueda. Por si acaso xD

1 respuesta
varuk

#7 ¿El qué exactamente no se haría con consultas?

1 respuesta
elkaoD

#8 parsear el número de mes.

Usuarios habituales

  • elkaoD
  • varuk
  • R3DKNIF3
  • HiGher