Hi, and thanks for all of the input - I think I'm beginning to grok it.
> On second thought you could probably use NFD normalization to separate
> base letters from accents, uppercase the base letters and then
> (optionally) NFC normalize everything again. Still insane ;-).
As far as I can see, I can only do what I want by using the following.
If there's a monthly prize on this list for the most insanely contrived piece of code, I think this is a strong
contender:
test.x = 'abc'
SELECT
UPPER(REGEXP_REPLACE(x, '(.)(.)(.)', '\1')) ||
UPPER(REGEXP_REPLACE(x, '(.)(.)(.)', '\2')) ||
UPPER(REGEXP_REPLACE(x, '(.)(.)(.)', '\3'))
FROM test;
Result: ABC
(see https://dbfiddle.uk/LQ-6udga).
Still a bit of work to do, but I'm getting there :-)
E.
> hp