Chocando con fechas!

28/08/2007 - 17:14 por Matias | Informe spam
Hola, perdon por el titulo poco descriptivo; lo que necesito es obtener la
fecha del primer dia del mes anterior.
hoy es 20070828
necesitaría tener el dato 20070701

Hice este enriedo:
SELECT cast(year(getdate()) as char(4))+''+cast(month(getdate())-1 as
char(2))+'01'
me devuelve 20077 01

tengo el problema que no pone el cero adelante del mes 7, como podria
solucionarlo? o habra otra solucion en lugar de hacer este codigo ediondo!?

Gracias!!!

Preguntas similare

Leer las respuestas

#1 Luis Mata
28/08/2007 - 17:32 | Informe spam
y s usas esto:

select convert(char(10),dateadd(mm,-1,getdate())-(day(getdate())-1),103)
ó
select convert(char(10),dateadd(mm,-1,getdate())-(day(getdate())-1),112)

busca en la ayuda la funcion convert para que adecues el formato que deseas
toma en cuenta que tambien si es enero tiene que tomar menos 1 año y menos 1
mes
espero esto te sirva

"Matias" escribió en el mensaje de noticias
news:
Hola, perdon por el titulo poco descriptivo; lo que necesito es obtener la
fecha del primer dia del mes anterior.
hoy es 20070828
necesitaría tener el dato 20070701

Hice este enriedo:
SELECT cast(year(getdate()) as char(4))+''+cast(month(getdate())-1 as
char(2))+'01'
me devuelve 20077 01

tengo el problema que no pone el cero adelante del mes 7, como podria
solucionarlo? o habra otra solucion en lugar de hacer este codigo
ediondo!?

Gracias!!!



Respuesta Responder a este mensaje
#2 Luis Mata
28/08/2007 - 18:49 | Informe spam
no para nada necesitas un case
prueba ese mismo select retrocediendo la fecha donde esta instalado el sql y
tambien lo considera



"Matias" escribió en el mensaje de noticias
news:
Gracias Luis, no me habia dado cuenta del tema de enero, voy a hacer un
CASE para solucionaro.

Saludos y mil gracias por tu tiempo.

"Luis Mata" escribió en el mensaje
news:
y s usas esto:

select convert(char(10),dateadd(mm,-1,getdate())-(day(getdate())-1),103)
ó
select convert(char(10),dateadd(mm,-1,getdate())-(day(getdate())-1),112)

busca en la ayuda la funcion convert para que adecues el formato que
deseas
toma en cuenta que tambien si es enero tiene que tomar menos 1 año y
menos 1
mes
espero esto te sirva

"Matias" escribió en el mensaje de noticias
news:
Hola, perdon por el titulo poco descriptivo; lo que necesito es obtener
la fecha del primer dia del mes anterior.
hoy es 20070828
necesitaría tener el dato 20070701

Hice este enriedo:
SELECT cast(year(getdate()) as char(4))+''+cast(month(getdate())-1 as
char(2))+'01'
me devuelve 20077 01

tengo el problema que no pone el cero adelante del mes 7, como podria
solucionarlo? o habra otra solucion en lugar de hacer este codigo
ediondo!?

Gracias!!!












Respuesta Responder a este mensaje
#3 Matias
28/08/2007 - 18:49 | Informe spam
Gracias Luis, no me habia dado cuenta del tema de enero, voy a hacer un CASE
para solucionaro.

Saludos y mil gracias por tu tiempo.

"Luis Mata" escribió en el mensaje
news:
y s usas esto:

select convert(char(10),dateadd(mm,-1,getdate())-(day(getdate())-1),103)
ó
select convert(char(10),dateadd(mm,-1,getdate())-(day(getdate())-1),112)

busca en la ayuda la funcion convert para que adecues el formato que
deseas
toma en cuenta que tambien si es enero tiene que tomar menos 1 año y menos
1
mes
espero esto te sirva

"Matias" escribió en el mensaje de noticias
news:
Hola, perdon por el titulo poco descriptivo; lo que necesito es obtener
la fecha del primer dia del mes anterior.
hoy es 20070828
necesitaría tener el dato 20070701

Hice este enriedo:
SELECT cast(year(getdate()) as char(4))+''+cast(month(getdate())-1 as
char(2))+'01'
me devuelve 20077 01

tengo el problema que no pone el cero adelante del mes 7, como podria
solucionarlo? o habra otra solucion en lugar de hacer este codigo
ediondo!?

Gracias!!!







Respuesta Responder a este mensaje
#4 Matias
28/08/2007 - 22:59 | Informe spam
"Luis Mata" escribió en el mensaje
news:
no para nada necesitas un case
prueba ese mismo select retrocediendo la fecha donde esta instalado el sql
y tambien lo considera



Perfecto!!! gracias!!!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida