Ver Mensaje Individual
  #4  
Antiguo 14-12-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola mRoman.
Cita:
Empezado por mRoman Ver Mensaje
Hola amigos buenas noches.

Uso DELPHI6, FireBird 2.0

Estoy tratanto de pasar como parametro una cadena tipo VarChar de 300 en un store procedure. Este el SP estoy construyendo:
Código SQL [-]
...
              and a.LECHER IN (:I_LECHERIAS)
...

La pregunta es la siguiente: Puedo hacer esto dentro del WHERE para usar IN, de esta forma:
ej.
where CODIGO IN (:CODIGOS)

Donde CODIGOS, puediera tener la siguientes cadena: 1234,5678,19281 ???
...
Si interpreté bién tu problema, y estuvieras usando la versión Firebird 2.1, te sugeriría usar la función POSITION, la que podrías usar como en el ejemplo siguiente:
Código SQL [-]
SELECT *
FROM LA_TABLA
WHERE ... 
  AND (POSITION(EL_CAMPO IN :PARAMETRO) <> 0)
Pero lamentablemente en la versión 2.0 aún no está implementada.

De todos modos podes hacerte tu versión de la funcion como expongo en el mensaje #9 de este enlace: Buscar Valor dentro de una Cadena.

Y en ese caso podrías hacer:
Código SQL [-]
SELECT *
FROM LA_TABLA
WHERE ... 
  AND ((SELECT RESULT FROM POS(EL_CAMPO, :PARAMETRO)) <> 0)

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita