Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problema con fechas

Estas en el tema de Problema con fechas en el foro de PostgreSQL en Foros del Web. Hola de nuevo. Tengo el siguiente problema, lo que pasa es que quiero grabar la fecha dentro de una tabla, el campo es de tipo ...
  #1 (permalink)  
Antiguo 14/09/2004, 18:46
 
Fecha de Ingreso: septiembre-2004
Mensajes: 10
Antigüedad: 19 años, 8 meses
Puntos: 0
Problema con fechas

Hola de nuevo.

Tengo el siguiente problema, lo que pasa es que quiero grabar la fecha dentro de una tabla, el campo es de tipo "date". El codigo que utilizo es el siguiente:

Código PHP:
$fecha date(" d"."\/"."m"."\/"."Y"time());
$qryInsertar 'INSERT INTO "Tabla" VALUES('.$fecha.')'
pero al querer grabarlo me manda el siguiente error:

"Warning: pg_exec(): Query failed: ERROR: column "Entradas_Fecha" is of type date but expression is of type integer HINT: You will need to rewrite or cast the expression."

No entiendo lo que debo hacer para que me grabe la fecha.
  #2 (permalink)  
Antiguo 14/09/2004, 19:40
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Los campos de tipo DATE guardan fechas en formato yyyy-mm-dd... por eso no permite que guardes ese valor.
Para eso es mejor utilizar funciones del SQL directamente.
Si es mysql, la función que necesitas es CURDATE()
Código PHP:
$qryInsertar "INSERT INTO tabla VALUES(CURDATE())"
Saludos
  #3 (permalink)  
Antiguo 08/10/2007, 13:57
Avatar de bachaquita  
Fecha de Ingreso: octubre-2007
Ubicación: San Juan, Venezuela
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema con fechas

tengo el mismo problema inserto la fecha y me da el error

Query failed: ERROR: column "fechainv" is of type date but expression is of type integer HINT: You will need to rewrite or cast the expression. in C:\Program Files\xampp\htdocs\sistema almacen2\finalingreso.php on line 16

estoy trabajando con postgres.

por favor si alguien puede responder...
  #4 (permalink)  
Antiguo 08/10/2007, 14:04
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: Problema con fechas

prueba a utilizar la funcion NOW()

Código HTML:
$qryInsertar = "INSERT INTO tabla VALUES(NOW())";
  #5 (permalink)  
Antiguo 08/10/2007, 17:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Problema con fechas

Cita:
Iniciado por bachaquita Ver Mensaje
tengo el mismo problema inserto la fecha y me da el error

Query failed: ERROR: column "fechainv" is of type date but expression is of type integer HINT: You will need to rewrite or cast the expression. in C:\Program Files\xampp\htdocs\sistema almacen2\finalingreso.php on line 16

estoy trabajando con postgres.

por favor si alguien puede responder...
De la misma manera te digo: el formato de fecha de Postgre es YYYY-MM-DD. Y tiene sus funciones propias distintas a las de mysql.

El error te dice claramente que tu campo es de tipo "date" y estás intentando insertar un entero.

--------------------

Ya que tu tipo de campo es "date", para insertar la fecha actual utiliza CURRENT_DATE.

SELECT CURRENT_DATE;

INSERT .... VALUES(CURRENT_DATE)

http://www.postgresql.org/docs/8.2/i...-datetime.html

http://www.postgresql.org/docs/8.2/i...TETIME-CURRENT

Un abrazo,

PD: Aprovecho para enviar este tema al foro de bases de datos, que es donde corresponde.
  #6 (permalink)  
Antiguo 09/10/2007, 07:11
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Problema con fechas

Hola a todos,

Para: Maja y bachaquita.

Intentelo de la siguiente forma, asi les puede funcionar:

Código PHP:
$fecha date("Y-m-d");
$qryInsertar "INSERT INTO "Tabla" VALUES('$fecha')"
Asi funciona bien con los tipos de datos date.

Aunque por lo general yo manejo las fechas con tipo "character varying" ó "varchar", con formato año-mes-dia para poder consultar valores entre las fechas, las horas en formato hora:minutos:segundos.

Pero cada persona lo maneja como quiera, lo importante es que funcione, y a mi me funciona perfecto y muy rapido.

Saludos, espero les sirva mi ayuda.

  #7 (permalink)  
Antiguo 09/10/2007, 08:25
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: Problema con fechas

Saludos

Cita:
Iniciado por maja Ver Mensaje
Hola de nuevo.

Tengo el siguiente problema, lo que pasa es que quiero grabar la fecha dentro de una tabla, el campo es de tipo "date". El codigo que utilizo es el siguiente:

Código PHP:
$fecha date(" d"."\/"."m"."\/"."Y"time());
$qryInsertar 'INSERT INTO "Tabla" VALUES('.$fecha.')'
pero al querer grabarlo me manda el siguiente error:

"Warning: pg_exec(): Query failed: ERROR: column "Entradas_Fecha" is of type date but expression is of type integer HINT: You will need to rewrite or cast the expression."

No entiendo lo que debo hacer para que me grabe la fecha.
No estoy seguro de lo que quieres.
No basta con exponer el error, hace falta describir el problema, ¿qué quieres hacer? ¿estás trabajando desde algún lenguaje?

Código:
pruebas=# CREATE TABLE fechas (fecha_corta date, fecha_larga timestamp without time zone);
CREATE TABLE
pruebas=# INSERT INTO fechas values (now(), now());
INSERT 0 1
pruebas=# SELECT * from fechas ;
 fecha_corta |        fecha_larga
-------------+----------------------------
 2007-10-09  | 2007-10-09 10:22:28.369246
(1 fila)
__________________
Gracias de todas todas
-----
Linux!
  #8 (permalink)  
Antiguo 09/10/2007, 09:48
Avatar de bachaquita  
Fecha de Ingreso: octubre-2007
Ubicación: San Juan, Venezuela
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema con fechas

Cita:
Iniciado por rusinho Ver Mensaje
Hola a todos,

Para: Maja y bachaquita.

Intentelo de la siguiente forma, asi les puede funcionar:

Código PHP:
$fecha date("Y-m-d");
$qryInsertar "INSERT INTO "Tabla" VALUES('$fecha')"
Asi funciona bien con los tipos de datos date.

Aunque por lo general yo manejo las fechas con tipo "character varying" ó "varchar", con formato año-mes-dia para poder consultar valores entre las fechas, las horas en formato hora:minutos:segundos.

Pero cada persona lo maneja como quiera, lo importante es que funcione, y a mi me funciona perfecto y muy rapido.

Saludos, espero les sirva mi ayuda.

hice tal cual como dices... coloq el tipo de dato varchar pero al pasar la fecha (-) ya q lo lleva porq asi lo ingreso... me hace una resta... es decir... entra la fecha 07-10-09 y me aparece -12... ???

es extraño y no lo entiendo... alguna ayuda??
  #9 (permalink)  
Antiguo 09/10/2007, 16:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Problema con fechas

Lo que me estas comentando es bastante raro, recerda que este valor debe ir entre comillas, porque es una cadena.

Si aun asi no te funciona, muestra un fragmento de tu consulta para poder ayudarte mejor.

Saludos.
  #10 (permalink)  
Antiguo 10/10/2007, 06:41
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: Problema con fechas

Saludos

Postgresql es un motor de bases de datos, _muy_ robusto, donde utilizar un campo de tipo character varying para guardar una fecha, es un error, o más bien, una pérdida de rendimiento del motor.

Existen enormes funcionalidades, cuando se específica un tipo de dato correctamente.

bachaquita, por favor, desde dónde no te funciona almacenar fechas, desde tu cliente administrador de postgres (psql, phppgadmin,pgadmin3, otro)?, cuál es tu SO? estás utilizando algún lenguaje(cuál)?

Adicionalmente, es importante que expliques con lujo de detalles, lo que estas haciendo, acompañado con muestras de código.

Como referencia: http://blogdrake.net/node/2492
__________________
Gracias de todas todas
-----
Linux!
  #11 (permalink)  
Antiguo 10/10/2007, 09:37
Avatar de bachaquita  
Fecha de Ingreso: octubre-2007
Ubicación: San Juan, Venezuela
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema con fechas

ciertamente se q no es varchar para el ingreso de fecha teniendo date para esto. solo era una prueba... igual.. para ninguno de los dos casos me ingresa la fecha correctamente...

cuando ingreso desde php <? echo $dia = date('Y-m-d');?>

2007-10-10

realizo mi query e inserto en la tabla (utilizo postgres)... la cual el campo esta definido como date no me ingresa ya q es un entero lo q le envio y necesita un formato date.
ERROR: column "fechainv" is of type date but expression is of type integer HINT: You will need to rewrite or cast the expression.

Lo cambie a varchar como prueba, para ver si el ingreso lo realizaba e ingresa una resta de los datos... es decir... un ejemplo de esto.... ingreso 2007-10-10 y me almacena 1987.

quizas estoy perdida en lo q hago... o no se q es lo q pasa... pero seria de buena ayuda alguna ayuda.
  #12 (permalink)  
Antiguo 10/10/2007, 09:53
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: Problema con fechas

Imprime la query que estás utilizando para el insert, y la pegas acá
__________________
Gracias de todas todas
-----
Linux!
  #13 (permalink)  
Antiguo 11/10/2007, 07:16
Avatar de bachaquita  
Fecha de Ingreso: octubre-2007
Ubicación: San Juan, Venezuela
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema con fechas

Cita:
Iniciado por cacr Ver Mensaje
Imprime la query que estás utilizando para el insert, y la pegas acá
Hola de Nuevo…
Aqui explico la manera en la cual tomo la fecha y la inserto:

<input type="text" name="fecha" style="width:150px" value="<? echo date('Y-m-d');?>" disabled="disabled"/>

En esta parte realizo el envio junto con otros datos pero resumo solo con el q me importa q es la fecha, los demas ingresan bien.

<input type="submit" name="guardar" value="Guardar" onclick="FAjax('finalingreso.php', 'central9', 'fecha='+document.getElementById('fecha').value, 'POST'); return false" action="#"/>

Recibo el dato

$fecha1=$_POST["fecha"];

$query="insert into inventario (fechainv) values $fecha1);";

Ese es todo mi codigo!
  #14 (permalink)  
Antiguo 12/10/2007, 14:15
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Problema con fechas

Cita:
Iniciado por bachaquita Ver Mensaje
Hola de Nuevo…
Aqui explico la manera en la cual tomo la fecha y la inserto:

<input type="text" name="fecha" style="width:150px" value="<? echo date('Y-m-d');?>" disabled="disabled"/>

En esta parte realizo el envio junto con otros datos pero resumo solo con el q me importa q es la fecha, los demas ingresan bien.

<input type="submit" name="guardar" value="Guardar" onclick="FAjax('finalingreso.php', 'central9', 'fecha='+document.getElementById('fecha').value, 'POST'); return false" action="#"/>

Recibo el dato

$fecha1=$_POST["fecha"];

$query="insert into inventario (fechainv) values $fecha1);";

Ese es todo mi codigo!

Por eso te digo que el problema que tu tienes es que no le colocas comillas al valor ingresado, es decir, como no le mandas comillas lo que hace realmente es una resta entre los 3 numeros, intentalo de la siguiente forma:

$query="insert into inventario (fechainv) values ('$fecha1')";

Saludos, espero te sirva.
  #15 (permalink)  
Antiguo 12/10/2007, 14:27
Avatar de bachaquita  
Fecha de Ingreso: octubre-2007
Ubicación: San Juan, Venezuela
Mensajes: 6
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problema con fechas

gracias...! q tonta soy no...! pues ya me sirvio... :)
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 18:45.