Re: finding columns that have three or fewer distinct characters

From: Jeff Frost <jeff(at)frostconsultingllc(dot)com>
To: Osvaldo Rosario Kussama <osvaldo(dot)kussama(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: finding columns that have three or fewer distinct characters
Date: 2008-03-05 20:03:03
Message-ID: Pine.LNX.4.64.0803051202440.4804@discord.home.frostconsultingllc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Wed, 5 Mar 2008, Osvaldo Rosario Kussama wrote:

> Jeff Frost escreveu:
>> I've got an interesting one...I'm trying to find columns that have three or
>> fewer distinct characters (for example, "aaaaaaaaaa"). Wondering if I need
>> to write a function or if someone has an idea how to do it with built in
>> functions and/or pattern matching?
>>
>> I think the thing to do would be to lowercase everything, then remove all
>> duplicate chars and spaces, then use length() on that, but it's not obvious
>> to me how I might remove the duplicate chars with the pattern matching
>> support in the docs.
>>
>
> Try:
> SELECT
> array_to_string(array(
> SELECT DISTINCT lower(substr('aabbcdddef AB',i,1))
> FROM generate_series(1,length('aabbcdddef AB'))
> s(i))
> , '');
>

Osvaldo, that appears to work perfectly! Thank you much!

--
Jeff Frost, Owner <jeff(at)frostconsultingllc(dot)com>
Frost Consulting, LLC http://www.frostconsultingllc.com/
Phone: 650-780-7908 FAX: 650-649-1954

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message tyrrill_ed 2008-03-05 22:17:46 Bit string help, please
Previous Message Osvaldo Rosario Kussama 2008-03-05 18:46:59 Re: finding columns that have three or fewer distinct characters