FoxPro/Visual FoxPro - cambio de fecha por otra fecha

   
Vista:

cambio de fecha por otra fecha

Publicado por carlos camisjsim@yahoo.com.ar (2 intervenciones) el 15/11/2011 20:06:47
Hola amigos del foro,,,,,,por favor necesito cambiar en una tabla de datos un campo de fecha por otra fecha,,,por ej...tengo 25/05/2011 quiero cambiar por 25/05/2010,,,,desde ya muchas gracias por su tiempo....
CARLOS
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
Imágen de perfil de Mauricio

cambio de fecha por otra fecha

Publicado por Mauricio (1368 intervenciones) el 16/11/2011 00:39:05
USE mi_tabla IN 0
vFecha = CTOD('01/12/2000')
SELE mi_tabla
SET DATE TO BRIT
SCAN
REPLACE mifecha WITH vfecha
ENDSCAN
CLOSE ALL
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

cambio de fecha por otra fecha

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (508 intervenciones) el 16/11/2011 10:58:22
Basta con una orden UPDATE SQL y jugar con la funcion DATE

****** Si vas a cambiar todas las fechas por un valor en particular:
Update MITABLA set fecha=date( 2010, 05, 25 )



Otros ejemplos:
****** Si vas a cambiar sólo los del 25/10/2011...
Update MITABLA set fecha=date( 2010, 05, 25 ) where fecha=date(2011,5,25)


***** Si vas a aplicar a descontar, pongamos un año, a la fecha de cada registro
Update MITABLA set fecha= fecha - 265
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

cambio de fecha por otra fecha

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (508 intervenciones) el 16/11/2011 11:00:20
En el último ejemplo quise decir 365, ya sabes, los días de un año.

Update MITABLA set fecha= fecha - 365
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

cambio de fecha por otra fecha

Publicado por santiago (376 intervenciones) el 16/11/2011 15:53:48
Hola, creo que lo que quieres es conservar el dia y el mes pero cambiar el año, entonces convierte primero la fecha en texto
FVAR1 = DTOC(FECHA1) && FECHA1 = 25/05/2011 FVAR1 = "25/05/2011"
FVAR1 = SUBSTR(FVAR1,1,6) && FVAR1 = "25/05/"
FVAR2 = YEAR(FECHA1) && FVAR2 = 2011
FVAR2 = FVAR2-1 && FVAR2 = 2010
FVAR3 = FVAR1+LTRIM(RTRIM(STR(FVAR2))) && FVAR3 = "25/05/2010"
FVAR3 = CTOD("25/05/2010") && convierte a fecha nuevamente

** si restas 365 dias a la fecha, posiblemente no te sirva en todos los casos, pues hay años biciestos que tienen 366 dias, entonces el resultado sera un dia diferente al que quieres conservar

Suerte.
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

cambio de fecha por otra fecha

Publicado por santiago (376 intervenciones) el 16/11/2011 15:58:48
la ultima linea es :
FVAR3 = CTOD(FVAR3) && 25/05/2010

** esta es la ultima linea, no la que figura en la pantalla anterior
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

cambio de fecha por otra fecha

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (508 intervenciones) el 16/11/2011 16:10:51
Tiene razón Santiago, restar 365 días no siempre funciona.

Entonces mejor usar GOMONTH, con 12 meses en negativo.


*----------------------------------------
update MiTable set fecha= GOMONTH( fecha, -12)
*----------------------------------------
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

cambio de fecha por otra fecha

Publicado por carlos camisjsim@yahoo.com.ar (2 intervenciones) el 16/11/2011 21:35:48
Gracias a todos por la ayuda,,,,
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