Sorry for spamming the list. It appears that I'm an idiot. Sorry :(
jim=# select * from test order by a collate "C";
a
----------------------
12 Days of Christmas
12 drummers
Anne
Isaac
Jim
a
aardvark
b
island
job
(10 rows)
jim=# select * from test order by a collate "en_US.utf8";
a
----------------------
12 Days of Christmas
12 drummers
a
aardvark
Anne
b
Isaac
island
Jim
job
(10 rows)
On Tue, Dec 12, 2017 at 10:36 AM, James Keener <[email protected]> wrote:
> en_US.utf8. is still 0-9A-Za-z and in my example set (as it's my default
> too :))
>
> You'd need a case insensitive collation to do what you described, and I'm
> not sure those exist in postgres. (I guess you could always build your own
> if you _really_ wanted to.
>
> Jim
>
> On Tue, Dec 12, 2017 at 10:24 AM, John McKown <
> [email protected]> wrote:
>
>> On Tue, Dec 12, 2017 at 9:11 AM, James Keener <[email protected]> wrote:
>>
>>> The default C locale on Linux (I don't know Windows) will sort "digits",
>>>> then alphabetic with the lower then upper case of each letter in order
>>>> like: "aAbB...zZ"
>>>>
>>>
>>> That's no true at all! The C locales are 0-9A-Za-z
>>>
>>
>> Thanks for the correction. Turns out that I forgot that my default
>> locale on Linux was en_US.utf8.
>>
>>
>> --
>> I have a theory that it's impossible to prove anything, but I can't prove
>> it.
>>
>> Maranatha! <><
>> John McKown
>>
>
>