Hola Manuel, esa manera, si no me equivoco, ahora no puedo corroborarlo, pq no me arranca postgres, no me funcionó cuando la probé, no me funcionó, aunque ya está solucionado, gracias al amigo Emmanuel Calvo y a Julio César, y el código
 select count(*) into devuel from pacientes where apell like

Gracias
Un saludo
Suso

SELECT count(*) INTO devuel FROM clientes WHERE UPPER(apell) LIKE UPPER('%apelli%')

El 26-11-2009, a las 6:17, jjlcubas escribió:

Hola Marcos, esa manera tampoco funciona, me da 0, aunque ya la había probado, asi como las siguientes:

select COUNT(*) INTO devuel from CLIENTES where apell like '& apelli & %';
select COUNT(*) INTO devuel from CLIENTES where apell like 'apelli %';
select COUNT(*) INTO devuel from CLIENTES where apell like 'apelli || %';
select COUNT(*) INTO devuel from CLIENTES where apell like '|| apelli || %';

Esta es la funcion completa

DECLARE
devuel integer;
BEGIN
 if apelli is not null THEN
                                  ---ENTRA EN ESTE BUCLE, HACE EL SELECT
    SELECT...
                                  ---   PERO DEVUELVE 0...:(
end if;              if found=true then
      return devuel;
  else
      return 0;      end if;   END;
Si le quito el "like....", me registros, osea la cantidad de registros totales lo que me extraña es que yo uso para en otro select (dentro de mi programa, en vb6) sólo con el like, y me busca el registro correspondiente, de esta manera:
cadena_auxi = "apell like '" & Trim(UCase(apelli(0).Text)) & "*" & "'"
Adodc1(0).RecordSet.MoveFirst
Adodc1(0).RecordSet.Find cadena_auxi
La que uso para este caso, no usa el control ado, Usa ADODB, como siempre, y sin problemas hasta ahora
No sé...
Gracias
Un saludo
Suso
suso escribió:
Hola a todos, tengo un problemilla con esta consulta, con postgres 8.4 bajo winxp, quiero obtener la cantidad de registros que cumplan esa condición

devuel integer;
select COUNT(*) INTO devuel from CLIENTES where apell like '" & apelli & "%';

El campo apell esté en mayúsculas y en "apelli" también.

La ejecuto desde pgadmin o desde mi programa y siempre me duevuelve 0, y hay como mínimo 3 por la letra/s que quiero ver, que es el caso que menos tengo.

¿ En qué me equivoco ?.
Alquién que me eche una mano.
Muchas gracias
Un saludo
Suso
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
Prueba asi:
select COUNT(*) INTO devuel from CLIENTES where apell like ' apelli%';


--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo


------------------------
*Manuel Diego Paillafil Gamboa*
man...@radiohead.cl <mailto:man...@radiohead.cl>
Móvil: 06 - 801 60 24






__________ Información de ESET Smart Security, versión de la base de firmas de virus 4651 (20091201) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

--
TIP 1: para suscribirte y desuscribirte, visita 
http://archives.postgresql.org/pgsql-es-ayuda

Responder a