PDA

Ver la Versión Completa : formato de fechas SQL


Barzaugc
24-06-2005, 17:56:14
Como estan el dia de hoy, espero que la esten pasando muy bien, queria preguntarles algo acerca de las fechas, tengo una tabla en SQL Server con un campo de fecha que tiene distintos tipos de formato de fecha en él, por ejemplo:

fecha
-------
05012005 -------mmddaaaa
05012005
05212005
13052005 -------ddmmaaaa
18052005

los formatos de las fechas estan diferentes en la columna, quisiera saber como se puede poner toda una columna en un mismo formato mediante codigo SQL para que a la hora de sacar el reporte salgan todos de la misma manera.

Gracias de antemano por su colaboración.

Lepe
24-06-2005, 18:00:49
Es la típica locura, el motor primero intenta encajar la fecha en el formato mm/dd/yyy, si lo primero es >12, entonces lo encaja con el formato dd/mm/yyyy.

En resumen, tendrás que modificar las fechas a mano, para ponerlas todas en formato mm/dd/yyyy.

La próxima vez que vayas a guardar una fecha, usa siempre el formato mm/dd/yyyy con la función Formatdatetime.

Un saludo

Barzaugc
24-06-2005, 19:06:22
Gracias por responder Lepe, pero con eso quieres decir que no hay manera de convertirlas todas iguales, no tienes alguna otra idea, so mas de 10,000 registros como para estarlos cambiando a mano.

Lepe
26-06-2005, 11:54:23
Hombre, sin son 10.000, puedes hacer una rutina que no use la lilbreria de fechas de delphi (porque se engañará).

Coges la fecha, la conviertes a texto, pillas los 2 primeros caracteres, conviertes a número, y miras el rango en el que está 1..12 (un mes) o bien 1..31, y haces lo mismo con los 2 siguientes caracteres. Cuando sepas en qué formato está, lanza una consulta de actualización.

El problema vendrá en que la fecha 06092005 no sabrás si es septiembre o bien Junio. Se supone que primero intenta encajar en el formato mmddyyyy, por tanto se deduce que es 9 de junio.

Hay motores de BBDD, que si la fecha no encaja con mmddyyyy lanza un error, en tu caso, no has tenido suerte :(.

PD: Si usas consultas de inserción/actualización de datos, usa parámetros en las fechas, delphi resuelve ese problema.

Un saludo.