Re: FUNCION CONTAR ESPACIOS EN BLANCO

From: Anthony <asotolongo(at)uci(dot)cu>
To: Luis Fernando Ortiz Vera <lfernandortiz(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: FUNCION CONTAR ESPACIOS EN BLANCO
Date: 2013-06-18 18:47:29
Message-ID: 51C0AB41.7090002@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Fernando una vez tuve la necesidad de hacer una función para contar
subcadenas dentro de cadenas y creo que te puede servir.

CREATE OR REPLACE FUNCTION contarsubcadena(cadena text, subcadena text)
RETURNS integer AS
$BODY$declare
cad text;
sub text;
contador integer;
begin
cad:=$1;
sub:=$2;
contador:=0;
loop

if position(sub in cad)<>0 then
contador:=contador+1;
cad:=substring(cad from position(sub in cad)+1 for length (cad));

else
exit;
end if;
end loop;

return contador;
end;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

ejemplo de uso
select contarsubcadena('cadena de ejemplo', ' ')
2

también la puedes usar con otras subcadenas, como por ejemplo ',' , ';', etc

saludos

El 19/06/2013 0:42, Luis Fernando Ortiz Vera escribió:
> Apreciada Lista de ayuda, intento desarrollar una funcion en
> postgresql, que me retornes un entero con los espacios contenidos en
> la cadena que envio como argumento. Al hacerlo me aparece el siguiente
> error. pgsql-es-ayuda(at)postgresql(dot)org
> <mailto:pgsql-es-ayuda(at)postgresql(dot)org>
>
> El codigo del la funcion que he escrito es el siguiente:
>
> CREATE OR REPLACE FUNCTION "public"."contarblanco" (cadena varchar)
> RETURNS integer AS
> $body$
> DECLARE
> resdo INTEGER;
> BEGIN
> resdo := 0;
> WHILE strpos( cadena, ' ') > 0 LOOP
> resdo := resdo + 1;
> select cadena = substr( cadena, strpos( cadena, ' ') + 1 , length(
> cadena ) );
> END LOOP;
> RETURN resdo;
> END;
> $body$
> LANGUAGE 'plpgsql' STABLE CALLED ON NULL INPUT SECURITY INVOKER;
>
> Agradezco la ayuda que me puedan dar a mi solicitud.
>
> Atentamente,
>
> --
>
> *Luis Fernando Ortiz Vera.*
> *+Luis Fernando Ortiz Vera | **(at)lfernandortiz *
> |Cúcuta|Colombia|
>

http://www.uci.cu

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2013-06-18 20:31:23 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Actualizar versión de postgres
Previous Message Milton Labanda 2013-06-18 17:26:51 Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Administración de los logs de Postgres