SQL - update fecha

 
Vista:

update fecha

Publicado por valentin grabiel (4 intervenciones) el 20/06/2007 14:21:24
hola alguien me podria hechar la mano, quiero hacer un update de unos registos que tiene fechas adelantadas.

Este es el campo que deseo modificar. la tabla de llama matusetrans

transdate debe de quedar asi
jul 01 2007 jun 01 2007

estoy haciendo el update asi pero me marca un error de "("

update
matusetrans
SET datepart(month,transdate) = 6
where datepart(month,transdate) = 7

alguien puede asesorarme de como cambiar la fecha.

mi sql es 6.5

Gracias anticipadas
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:update fecha

Publicado por Isaias (5073 intervenciones) el 20/06/2007 19:25:18
Veamos, ¿Quieres cambiar el AÑO por 2007?, ¿Porque haces referencia al MES SET datepart(month,transdate) = 6 ?
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:update fecha

Publicado por valentin grabiel (4 intervenciones) el 20/06/2007 21:18:34
el año no lo quiero cambiar, quiero cambiar el mes, aunque tambien tengo registros que tienen una fecha a delantada y alli si necesitaria cambiar toda la fecha.


ejemplo

los registros estan en esta fecha y diferente hora.
JUL 01 2007 10:45:41

los quiero cambiar a esta fecha
JUN 01 2007 10:45:41

cabe mensionar que el campo Transdate es de tipo DATATIME

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

RE:update fecha

Publicado por Isaias (5073 intervenciones) el 20/06/2007 22:53:44
Mira, existe una funcion que es DATEADD, la cual te permite aumentar o disminuir:

segundos
minutos
horas
dias
meses
años
trimestres
semanas

En tu caso seria algo asi.

UPDATE tutabla SET FECHA = DATEADD(mm, - 1, FECHA)
WHERE ..............................................
DATEPART(yy, FECHA) = 2007
AND DATEPART(mm, FECHA) = 7

Aqui el where se vuelve muy importante, porque debes indicarles que solo quieres del año x y mes x.
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:update fecha

Publicado por valentin (4 intervenciones) el 21/06/2007 00:29:41
Gracias por contestar, mira estoy haciendo el update asi

UPDATE matusetrans7112007 SET transdate = DATEADD(mm, - 1, transdate)
WHERE transdate like '%Jul%' and transdate like '%2007%'
DATEPART(yy, transdate) = 2007
AND DATEPART(mm, transdate) = 7

pero me marca un error.

Msg 170, Level 15, State 1
Line 3: Incorrect syntax near 'DATEPART'.

es sql 6.5

sdos.
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:update fecha

Publicado por Isaias (5073 intervenciones) el 21/06/2007 01:19:56
NUNCA vuelvas a utilizar LIKE con campos de tipo FECHA, eso no se hace ni en primer año de SQL SERVER.

UPDATE matusetrans7112007 SET transdate = DATEADD(mm, - 1, transdate)
WHERE DATEPART(yy, transdate) = 2007
AND DATEPART(mm, transdate) = 7
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:update fecha

Publicado por Valentin (4 intervenciones) el 21/06/2007 14:53:25
Gracias por la ayuda, solo te comento que se muy poco de SQL. y ahorita esty revisando una base de datos que se esta alentando. por ahi voy a postear varias preguntas mas.
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:update fecha

Publicado por Isaias (5073 intervenciones) el 21/06/2007 18:06:08
Por aqui estaremos.
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