Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   comodín '%' para firebifd 1.5 (quiziera que me tome los NULL) (https://www.clubdelphi.com/foros/showthread.php?t=56914)

peccatum 30-05-2008 20:25:58

comodín '%' para firebifd 1.5 (quiziera que me tome los NULL)
 
Hola, quiziera saber si hay algúna forma de utilizar el caracter '%' en las consultas de modo que me traiga los registros conteniendo cualquier cadena de caracteres y además los que estan en NULL.

Gracias...

hecospina 30-05-2008 20:36:23

cuando utilizas like te funciona sin problemas
ejem
Código SQL [-]
select codigo,nombre from tabla where codigo like 'A%'
te traera todo lo que inicia por A
el manejo de los nulos lo puede hacer con coalesce :)

maeyanes 30-05-2008 20:41:01

Eh...

Lo que entiendo que quieres hacer se puede lograr así:

Código SQL [-]
select * from Tabla

Con esa sentencia te traes todos los registros conteniendo cualquier cadena de caracteres y además los que están en NULL... ;)


Saludos...

roman 30-05-2008 20:46:02

Cita:

Empezado por maeyanes (Mensaje 290275)
Código SQL [-]
select * from Tabla

:confused: :eek: :p

Sí, definitivamente hay algo que no cuadra en la pregunta :)

Quizá lo que quiere es algo como

Código SQL [-]
select * from tabla where campo like "algo%" or campo is null

// Saludos

peccatum 30-05-2008 21:01:56

hola

en verdad la consulta que tengo es masomenos así :

Código SQL [-]
select seniores.nombre, seniores.empresa  /*empresa puede ser null*/
from seniores
where nombre like :n and empresa like :e

si yo utilizo '%' en 'n' y 'e' la tabla resultante es una sin registros... edit: sin registros si todos los campos de empresa son null, lo cual yo quiero q en este caso traiga todos los registros sin importar si es null o no----

si uso la logica de tu ejemplo roman me trae los campos cuyo nombre de empresa empieza con 'algo' y además todos los nulos, y yo quiziera que me traiga solo los que empiezan con 'algo'


----------------------------
edit2: lo solucionaría agregando la linea para consultar empresa en tiempo de ejecucion de mi aplicación, solo quiero saber si se puede resolver esto en una sola linea =)

se entiende ?

luisgutierrezb 30-05-2008 21:53:04

La respuesta esta en el post de Roman, al hacer el where utilizas el AND pero ningun campo va a ser n% y a la vez NULL por eso Roman te dijo que utilizaras el OR

peccatum 30-05-2008 22:26:46

en verdad lo que necesito en esa linea es un or excluyente....

.. y no se como hacerlo :(

RONPABLO 31-05-2008 01:07:56

Yo crearía un procedimiento almacenado que regrese un campo nombre y otro empresa y al interior de de dicho sp colocaría la siguiente consulta:
Código SQL [-]
for select seniores.nombre, seniores.empresa  /*empresa puede ser null*/
from seniores
where (nombre like :n or :n is null) 
  and (empresa like :e or :e is null)
into :Nombre, :Empresa do
begin
   suspend;
end

Esa consulta que hago en el procedimiento almacenado no se puede hacer en un query normal, es decir decir que un parametro enviado es null, pero en un sp si se puede...


La franja horaria es GMT +2. Ahora son las 15:49:44.

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