locked
cambiar formato a la fecha RRS feed

  • Pregunta

  • Hola a todos y muchas gracias por su tiempo,  actualmente obtengo la fecha actual con

    select CONVERT (char(10), getdate(), 103)  y me traer 16/02/2009

    Pero necesito que me lo muestre de la siguiente forma 16 de febrero de 2009,

    Habrá alguna forma para hacerlo desde sql server???

    Gracias a todos


    sandra
    lunes, 16 de febrero de 2009 20:15

Respuestas

  • Hola.

    La forma de mostrar la fecha debería ser una tarea exclusivamente de la capa de presentación. Ten en cuenta que dependes del idioma (de la base de datos, del servidor, de la configuración regional del servidor, de la del cliente, de la del IIS, etc.), además de la salida del "convert". Así, si se trata de un web o de un report, yo devolvería la fecha como "yyyymmdd", que siempre es interpretada correctamente y dejaría el formato para el que lo muestra.

    Y si lo tienes que mostrar tú directamente, por el motivo que sea, con un formato muy cerrado, yo me prepararía una función a medida que se ocupara de ello, sobre todo para evitar el problema del nombre del mes, que hiciera un case when datepart(mm, @fecha) = 1 then 'de Enero de', etc.

    Alberto López Grande.
    martes, 17 de febrero de 2009 8:32
    Moderador

Todas las respuestas

  • puedes cambiarle el parametro al Convert(varchar(10),fecha,-parametro-), en vez de 103, cambialo, por 101, 102,104, 105,106,107...y de ahi asta el 114 , y luego le pones al 120..... no se hasta cuantos avarque.. pero creo que en esos ya viene el formato que quieres.... y en algunos le tienes que ampliar a varchar(30) por ejemplo, para que te lo muestre completo porque si no se trunca.

    Saludos.
    lunes, 16 de febrero de 2009 21:23
  • Hola.

    La forma de mostrar la fecha debería ser una tarea exclusivamente de la capa de presentación. Ten en cuenta que dependes del idioma (de la base de datos, del servidor, de la configuración regional del servidor, de la del cliente, de la del IIS, etc.), además de la salida del "convert". Así, si se trata de un web o de un report, yo devolvería la fecha como "yyyymmdd", que siempre es interpretada correctamente y dejaría el formato para el que lo muestra.

    Y si lo tienes que mostrar tú directamente, por el motivo que sea, con un formato muy cerrado, yo me prepararía una función a medida que se ocupara de ello, sobre todo para evitar el problema del nombre del mes, que hiciera un case when datepart(mm, @fecha) = 1 then 'de Enero de', etc.

    Alberto López Grande.
    martes, 17 de febrero de 2009 8:32
    Moderador
  • Hola a todos, gracias por las respuesta, la opción de suprempada no me funcionó y es razonable lo que dice Alberto, el problema es que como en la aplicacion le establecion la culture de US así desarrollaron el software pero si llego a cambiarsela a es-CO hay varias cosas de mi aplicativo que fueron desarrolladas teniendo en cuenta US, y al ejecutarlo se rebienta  por las fechas y me queda difícial cambiar todo.
    sandra
    martes, 17 de febrero de 2009 21:09
  • Hola.

    Lo siento, me he perdido. Yo no te sugería cambiar la presentación de todas las fechas de toda la aplicación, si no que en el punto concreto en el que se debe visualizar "16 de Febrero de 2009", en lugar de tratar de convertir la fecha con un "convert", te crearas una función que te lo hiciera. ¿Puedes tratar de reformular la duda?

    Muchas gracias,

    Alberto López Grande.
    miércoles, 18 de febrero de 2009 10:10
    Moderador