Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Formato de fechas en mysql (https://www.clubdelphi.com/foros/showthread.php?t=2202)

seduerey 13-07-2003 22:29:25

Formato de fechas en mysql
 
He intentado hacer un insert usando el siguiente codigo

INSERT INTO albaran VALUES(null,3,8,8,DATE_FORMAT("13/6/2003","%e/%c/%x"),null,8," bnkbk ")

Pero parece ser que no es la forma más correcta.

Las fechas me llegan en ese formato, no hay forma de cambiarlo, pero si sabeis de alguna forma para introducirlo....

He probado con la funcion to_date del standard, pero parece que no la lleva, por desgracia, y me habia parecido que DATE_FORMAT era la más parecida.

¿Alguna idea?

brandolin 15-07-2003 14:14:23

Proba en utilizar la funcion STRTODATE directamente en lugar de la de FormatDate.

Yo pensaba que no me iba a funcionar, pero, sorpresas.....

Gracias.

kayetano 16-07-2003 18:33:04

Hola

A primera vista yo veo el seiguiente fallo, el tipo DATE de me MySQL es "año-mes-dia" separado por guiones,

Con lo que nos queda

INSERT INTO albaran VALUES(null,3,8,8,DATE_FORMAT("2003-13-6","%e/%c/%x"),null,8," bnkbk ")

roman 16-07-2003 19:02:33

Cita:

Posteado originalmente por kayetano
INSERT INTO albaran VALUES(null,3,8,8,DATE_FORMAT("2003-13-6","%e/%c/%x"),null,8," bnkbk ")
El problema es que seduerey indica que las fechas le llegan en ese formato y no hay manera de cambiarlo.

Me parece que no queda otra que concat y substring para ponerla en el orden correcto.

// Saludos

seduerey 16-07-2003 23:29:58

Gracias, al final he tenido que hacer eso.... transformarlas a pelo, que se le va a hacer....


Gracias por todo

mapachetec 02-07-2007 03:51:05

Manejo de fechas desde mysql
 
Aqui va mi contribución, el problema es que necesitaba pasar la fecha actual del servidor a una consulta, pero el problema que tenia es que al pasarlo a cadena, delphi cambiaba el formato a dia-mes-anio siendo que yo lo necesitaba en anio-mes-dia. Para no hacer mas largo el cuento, lo que hice fue manejar en mysql la fecha como cadena y no como fecha, como se hace esto? :confused: de la siguiente manera:


SELECT CONCAT_WS( "-", SUBSTRING( CURRENT_DATE( ) , 1, 4 ) , SUBSTRING( CURRENT_DATE( ) , 6, 2 ) , SUBSTRING( CURRENT_DATE( ) , 9, 2 ) ) AS fecha_actual
FROM nombre_table

Entonces, cuando obtenemos el dato mediante delphi, ya que se trata de una cadena y no de una fecha pues lo deja como esta :)

Espero sea de utilidad, hasta pronto.

como diria mi estimado Rasmus, show me the code! :cool:

Lepe 02-07-2007 09:53:31

Ya que es la fecha del servidor, ¿no se puede hacer esto?
Código SQL [-]
INSERT INTO albaran VALUES(null,3,8,8,GET_DATE(),null,8," bnkbk ")
get_date es una función de mysql (si no me he equivocado en el nombre), lo interpretará en tiempo de ejecución.

Para evitar el formato de fecha mm/dd ó dd/mm es mejor usar parámetros, aunque en este caso, no hace ni falta.

Si creas el campo de tipo String, para almacenar la fecha como texto, no esperes que las búsquedas sean rápidas o se ordenen como esperas, ésta, es la ordenación que obtendrás por texto:
01/01/2007
01/01/2008
02/01/2007

Ésta otra, cuando el campo es de tipo fecha:
01/01/2007
02/01/2007
01/01/2008

Saludos


La franja horaria es GMT +2. Ahora son las 15:50:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi