Re: Re: select substr???

From: "Albert REINER" <areiner(at)tph(dot)tuwien(dot)ac(dot)at>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Re: select substr???
Date: 2001-04-10 16:38:15
Message-ID: 20010410183815.C3219@frithjof
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Mon, Apr 09, 2001 at 06:05:55PM +0100, Tim Johnson wrote:
> Hi,
>
> I have postgres 6.x (where x is something).
>
> I have the following list of data
>
> data
> --------
> ABC*
> ABC
> ABC-
...
> what I want to do is 'select distinct(data) [ignoring non alphanumeric
> characters] order by data'

somewhere I use the following, which might be adapted to do what you
want. I am sure there are more elegant ways of doing this, though.

create function ComparisonString(text) returns text as '
declare
t text;
r text;
c char;
ns bool;
begin
if $1 is null then
return NULL;
end if;
t = lower(trim(both $1));
r = '''';
ns = false;
for i in 1 .. char_length(t) loop
c = substring(t from i for 1);
if c = '' '' then
if ns then
r = r || '' '';
end if;
ns = false;
else
if position(c in ''abcdefghijklmnopqrstuvwxyz0123456789'') > 0 then
r = r || c;
ns = true;
end if;
end if;
end loop;
return trim(both r);
end;
' language 'plpgsql' with (IsCachable);

Albert.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Jason Earl 2001-04-10 17:32:13 Re: Sorting and then...
Previous Message Joel Burton 2001-04-10 15:36:43 Re: problem with copy command