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.
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 |