Foros del Web » Programando para Internet » PHP »

cambiar la hora a registros en base de datos

Estas en el tema de cambiar la hora a registros en base de datos en el foro de PHP en Foros del Web. Hola tengo como 10.000 registros en una base de datos, y en el campo 'hora' quiero sumarle 5 horas a todos los registros, el formato ...
  #1 (permalink)  
Antiguo 17/11/2005, 12:10
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
De acuerdo cambiar la hora a registros en base de datos

Hola tengo como 10.000 registros en una base de datos, y en el campo 'hora' quiero sumarle 5 horas a todos los registros, el formato del campo es 00:00:00
lo quiero hacer desde phpmyadmin

alguien me puede ayudar.

saludos
__________________
-----------------
_
__|_|__
º(-_-)º
  #2 (permalink)  
Antiguo 17/11/2005, 13:14
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
De acuerdo

Bueno yo alguna vez hice esto pero esto seria sobre la BD


Código:
SELECT DATE_ADD("2005-11-17 14:20:59",  INTERVAL 5 HOUR);
o si no se me ocurre esto pero.... ummm tendris que controlar el cambio de dia, de mes,..., etc.

SELECT HOUR('14:21:03')+5;

Saludos.
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #3 (permalink)  
Antiguo 17/11/2005, 13:18
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
De acuerdo

Cita:
Iniciado por flaconovato
Bueno yo alguna vez hice esto pero esto seria sobre la BD


Código:
SELECT DATE_ADD("2005-11-17 14:20:59",  INTERVAL 5 HOUR);
o si no se me ocurre esto pero.... ummm tendris que controlar el cambio de dia, de mes,..., etc.

SELECT HOUR('14:21:03')+5;

Lo del SELECT es un ejemplo... tu tendiras que utilizar UPDATE... con el campo fecha de tu tabla en la BD

Saludos.
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #4 (permalink)  
Antiguo 17/11/2005, 14:14
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
en el campo hora solo tengo la hora:minutos:segundos no andubo el HOUR(hora)+5

me puso en cero todos los registros!
__________________
-----------------
_
__|_|__
º(-_-)º
  #5 (permalink)  
Antiguo 17/11/2005, 14:48
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
De acuerdo cambiar la hora a registros en base de datos

Mira me puse a cacharriar y le di con este UPDATE

hazlo y me cuentas...

Código:
UPDATE tabla set campo_hora = ADDTIME(campo_hora, '05:00:00')
y en cuanto a que te halla dejado los campos en CEROS que pena haz la prueba con un solo registro... y me cuentas


Saludos
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #6 (permalink)  
Antiguo 17/11/2005, 14:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero ese campo "hora" de que tipo es? .. es un "varChar"? (de texto en general) o es un campo de fecha standar de Mysql (DATE, DATETIME?) ..

Al parecer no es así ... Si no es un campo de fecha standard .. no apliques funciones de fechas de SQL sobre el.

Ahora .. para no comenter el mismo error otra vez; esas "hora:minuto:segundo" es una fecha o registro de "tiempo"?

Si es un registro de tiempo .. podrías simplificar el proceso guardando ese tiempo como segundos (la mínima unidad o por lo menos que a ti te interese) .. así operar como ahora sumando .. restando .. o haciendo cualquier calculo sobre ese campo sería extremadamente sencillo (en base a segundos).

Para solventar el problema que tienes ahora mismo, tendías que hacer lo que te comento más arriba, pasar ese tiempo a segundos, operar con el y volver a obtener las horas que son N segundos .. sus minutos y el resto de segundos que se obtengan ...

Un saludo,
  #7 (permalink)  
Antiguo 17/11/2005, 16:23
 
Fecha de Ingreso: abril-2003
Ubicación: Córdoba
Mensajes: 160
Antigüedad: 21 años
Puntos: 0
el campo es tipo Time
__________________
-----------------
_
__|_|__
º(-_-)º
  #8 (permalink)  
Antiguo 18/11/2005, 05:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok .. si es "TIME" puedes usar las funciones de fecha de Mysql.

Pero insisto una vez más si realmente ahí guardas una HORA (de 24 horas) o pretendes almacenar un "tiempo" (expresado en horas, minutos y segundos).

Por lo demás .. la función ADDTIME() que te comentó flaconovato debería funcionarte.

Revisa la documentación oficial (en los ejemplos añaden los segundos con x.yyyyyyyy) y cualquier duda .. usa el foro de "Base de datos" (pues es tema lo tuyo integro de SQL).
http://dev.mysql.com/doc/refman/5.0/...functions.html

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:07.