SQL - Modificación variables datetime

   
Vista:

Modificación variables datetime

Publicado por Marta (3 intervenciones) el 20/08/2010 13:40:13
Hola a todos,

Tengo un problema con mi código al crear un procedimiento almacenado en SQL 2000 Server, estoy intentando modificar solamente el mes de una variable tipo datetime pero no lo consigo.

La clausula que estoy usando es la siguiente:

declare @outtime_aux datetime

set @outtime_aux = getdate()

SET MONTH(@OUTTIME_AUX)=3

Espero vuestra respuesta
Gracias!!!
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:Modificación variables datetime

Publicado por Leonardo Josue (877 intervenciones) el 20/08/2010 19:10:37
Buenos días Marta... no entiendo muy bien qué es lo que necesitas modificar de la fecha, voy a darte un pequeño ejemplo de manejo de fechas, pero no estoy seguro de si esto es lo que necesitas,

según yo lo que necesitas es cambiar la fecha de hoy (20/08/2010) por la misma fecha, pero en el mes de marzo (20/03/2010). Prueba con este código.

declare @Año varchar(4)
declare @Mes varchar(2)
declare @Dia varchar(2)
declare @Fecha datetime
set @Año = CAST(YEAR(getdate()) AS VARCHAR)
set @Mes = '03'
set @Dia = RIGHT(CAST(DAY(getdate()) AS VARCHAR), 2)
set @Fecha = cast(@año + @mes + @dia as datetime)

--Fecha Actual
print convert(varchar, getdate(), 103)
--Mismo día pero en el mes de marzo.
print convert(varchar, @Fecha, 103)

el resultado de este código debería ser el siguiente:

20/08/2010
20/03/2010

Si no es esto lo que necesita te pediría un ejemplo un poco más claro de qué es lo que quieres obtener como salida.

Saludos
Leo
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:Modificación variables datetime

Publicado por Marta (3 intervenciones) el 23/08/2010 12:52:57
Muchas Gracias!!!
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
Imágen de perfil de roger

RE:Modificación variables datetime

Publicado por roger (93 intervenciones) el 22/08/2010 16:58:46
la funcion MONTH sirve para obtener el mes de una fecha determinada, no se puede usar para asignarla. Pero podrias hacer algo con DATEADD como

declare @outtime_aux datetime
set @outtime_aux = getdate()
set @outtime_aux = DATEADD(MONTH,-MONTH(@outtime_aux),@outtime_aux)
SET @outtime_aux = DATEADD(MONTH,3,@outtime_aux)
select @outtime_aux

Como ves, se le quita la parte del mes a la fecha restandole los meses que tenga, y luego se le agrega el mes que quieras.

Saludos
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:Modificación variables datetime

Publicado por Marta (3 intervenciones) el 23/08/2010 13:29:12
Muchas gracias!!!
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