From: | Osvaldo Rosario Kussama <osvaldo(dot)kussama(at)gmail(dot)com> |
---|---|
To: | Jeff Frost <jeff(at)frostconsultingllc(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: finding columns that have three or fewer distinct characters |
Date: | 2008-03-05 18:46:59 |
Message-ID: | 47CEEAA3.3040004@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Frost | 2008-03-05 20:03:03 | Re: finding columns that have three or fewer distinct characters |
Previous Message | Colin Wetherbee | 2008-03-05 17:56:01 | Re: finding columns that have three or fewer distinct characters |