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)
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)
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 <jim@xxxxxxxxxxxxx> 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.JimOn Tue, Dec 12, 2017 at 10:24 AM, John McKown <john.archie.mckown@xxxxxxxxx> 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-zThanks 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