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 <jim@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.
On Tue, Dec 12, 2017 at 9:11 AM, James Keener <jim@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.