![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
![]() Buen día, ¿Alguien ha tenido el error comentado en el titulo, tengo un registro en mi tabla donde el campo FECHA viene como NULL , pero al hacer la validación en Delphi (Ya que, si el valor es Nulo, debo de insertar la fecha del día de hoy, pero si Fecha tiene algún valor debo de dejarlo como esta) me retorna una fecha extraña (30/12/1899)
![]() ![]() ![]() ![]() La validación la hago de la siguiente manera:
Saludos. Última edición por pgranados fecha: 15-02-2023 a las 18:52:44. |
#2
|
||||
|
||||
Estuve investigando, y realmente sucede esto porque el campo Date nunca se queda como NULL, solamente toma una "Fecha Random?"
Total, esta fecha: 30/12/1899 ¿es la que se queda fija? o siempre cambiara? ![]() Saludos |
#3
|
||||
|
||||
Es que al ser null, se interpreta como cero, y firebird cuenta los días a partir del 30/12/1899 por lo que 1 es 31/12/1899, 2 es 01/01/1900, etc...
Lo que debes hacer es algo como: if fecha is null then fecha = now; O la fecha por defecto que te venga mejor.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
¡Hola, pgranados!
No es una fecha random, el cálculo de fechas en Delphi empieza desde el 30/Dic/1899. En un valor numérico (Double) que va aumentando desde ese día. System.TDateTime Cita:
0 = 30/12/1899 2.75 = 1/Ene/1900; 6:00 P.M. 35065 = 1/Ene/1996; 12:00 A.M 44972 = 15/Feb/2023; 12:00 A.M. Cuando en tu consulta validas el campo de fecha y en la tabla está como null. Al leerlo como TDateTime, se convierte a 0 y por lo tanto a la fecha que indicas. Si lo que debes validar es si el campo está null puedes usar la función IsNull.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#5
|
||||
|
||||
Gracias Casimiro y movorack, de gran ayuda. Saludos.
![]() |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Campo Fecha de tipo Date se guarda como Blob | GUN10 | Varios | 1 | 15-03-2016 12:06:45 |
30/12/1899 cuando fecha en campo es null ? | Loviedo | Firebird e Interbase | 4 | 21-02-2013 12:36:29 |
asignar fecha a un campo de tipo DATE | liito16 | OOP | 2 | 09-09-2010 15:48:23 |
Como seleccionar de una campo tipo date solo el dia | Gaby123 | Conexión con bases de datos | 1 | 06-09-2006 16:55:50 |
Como filtrar un campo tipo Date en una Tabla? | JuanErasmo | C++ Builder | 6 | 21-12-2005 09:24:59 |
![]() |
|