Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 27-09-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
El error no puede ser por el texto 'No Date' ya que en el where estas diciendo que esos registros no los seleccione, más bien puede haber registros con valor nulo (NULL) para el campo varchar, que obviamente, es distinto de la cadena vacía.

Yo lo haría de este modo:

crearía un nuevo campo en la tabla de tipo date. Valor por defecto NULL
ahora intento el copiado asi (Fecha es el nuevo campo de tipo Date):
Código SQL [-]
update mytable set Fecha = CAST((SUBSTRING ( MyDATE_VARCHAR FROM 7 FOR 4 )
||'/'||SUBSTRING ( MyDATE_VARCHAR FROM 4 FOR 2 )
||'/'||SUBSTRING ( MyDATE_VARCHAR FROM 1 FOR 2 )) AS DATE)

WHERE

MyDATE_VARCHAR <> 'No Date' 
AND MyDATE_VARCHAR <> ''
AND MyDATE_VARCHAR IS NOT NULL

Ahora los que tienen fecha, ya tienen su valor asignado.
Los que tienen 'No Date' o eran nulos o era un texto vacío, ya tienen un NULL, PERO es muy posible que haya registros con otros valores distintos, y sería bueno comprobarlo con:
Código SQL [-]
select fecha, fecha_VARCHAR
from mytable
where 
   fecha is null
AND MyDATE_VARCHAR <> 'No Date' 
AND MyDATE_VARCHAR <> ''
AND MyDATE_VARCHAR IS NOT NULL
Si esta consulta devuelve algún registro, tendrás que asignar el campo Fecha al valor que creas conveniente.


La verdad, no sé por qué usas el operador "!=" yo siempre he usado "<>" en Firebird.

Edito: hay una pequeña incongruencia en lo expuesto: Dices que quieres el formato dd/mm/aaaa, sin embargo, el SQL pone el formato aaaa/mm/dd. Yo no sé el formato que espera Firebird para una fecha, ya que siempre he usado la biblioteca rfunc que trae una UDF encodeDate.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 27-09-2007 a las 11:15:49.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta con TIMESTAMP no devuelve nada subzero Firebird e Interbase 10 12-09-2007 04:51:06
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 15:52:15
Saber si una consulta no devuelve datos rafita SQL 4 18-09-2006 10:00:26
Limitar los registros que devuelve una consulta roman Conexión con bases de datos 1 03-09-2004 09:08:45
Realizar una consulta a otra máquina lore Conexión con bases de datos 2 02-10-2003 16:29:23


La franja horaria es GMT +2. Ahora son las 14:01:14.


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