回答

收藏

如何在PostgreSQL中以正确的顺序返回记录

技术问答 技术问答 250 人阅读 | 0 人回复 | 2023-09-12

询问
( V$ `% ?/ k" M9 s8 {/ Fselect 'T' union all select 'Z'  order by 1退货/ k* r5 \4 G, m9 U3 z
ZT但正确的顺序应该是
1 T7 n7 G8 Q, o5 r5 JTZ尝试了三种不同的操作系统
) M3 p: V, u: U7 i! d8 Q$ VWindows 2003服务器PostgreSQL 9.1.3,由Visual C    build 1500编译,32位9 O: ~5 `8 z5 l& Q8 ^
Windows 7“ PostgreSQL 9.2.1,由Visual C    build 1600编译,32位
; I# Y& ~2 O7 v8 ^Debian“ x86_64-unknown-linux-gnu上的PostgreSQL 9.1.2,由gcc-4.4.real编译(Debian 4.4.5-8)4.4.5,64位”
数据库设置如下:- J$ I" s2 t5 B, D! R, ]
Collation:      et_EE.UTF-8 Character type: et_EE.UTF-8如何解决这个问题?
  T- k! U' W! W5 T更新, D/ {- W; J" R* H+ R8 q
使用以下数据库创建数据库( w0 n- b  {5 Q- H
CREATE DATABASE mydb WITH TEMPLATE=template0 OWNER=mydb_owner ENCODING='UNICODE'在所有情况下,操作系统的语言环境都是爱沙尼亚语,因此在爱沙尼亚语言环境中创建了数据库。
+ @. g& u5 L5 K5 |select 'Z' collate "et_EE" union all select 'S' collate "et_EE" order by 1返回正确的顺序:3 _. A! F$ O* D0 h# J
SZ但  M% F1 ~) P9 ]% r" k: M
select 'Z' collate "et_EE" union all select 'T' collate "et_EE" order by 1如答案所述,返回无效顺序:7 U. K7 Q, Q# v- _5 t+ b
ZT               
% j$ U" {7 Q* E- A! G    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则