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 <j...@jimkeener.com> 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 <
> john.archie.mck...@gmail.com> wrote:
>
>> On Tue, Dec 12, 2017 at 9:11 AM, James Keener <j...@jimkeener.com> 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
>>
>
>

Reply via email to