আমার পোস্টগ্রিস 9.4.4 ডেবিয়ানের উপর চলছে এবং আমি নিম্নলিখিত ORDER BY
আচরণটি পেয়েছি :
veure_test=# show LC_COLLATE;
lc_collate
-------------
en_US.UTF-8
(1 row)
veure_test=# SELECT regexp_split_to_table('D d a A c b CD Capacitor', ' ') ORDER BY 1;
regexp_split_to_table
-----------------------
a
A
b
c
Capacitor
CD
d
D
(8 rows)
এবং uname -a
:
Linux ---- 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_64 GNU/Linux
যাইহোক, আমার আইম্যাকটিতে পোস্টগ্রিস 9.3.4 সহ আমি নিম্নলিখিতটি পেয়েছি:
veure_test=# show LC_COLLATE;
lc_collate
-------------
en_US.UTF-8
(1 row)
veure_test=# SELECT regexp_split_to_table('D d a A c b CD Capacitor', ' ') ORDER BY 1;
regexp_split_to_table
-----------------------
A
CD
Capacitor
D
a
b
c
d
(8 rows)
এবং uname -a
:
Darwin ---- 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64 x86_64
আমি কেন দেবিয়ান সংস্করণটি কেস-সংবেদনশীল বলে মনে করি এবং ওএস এক্স সংস্করণটি তা নয় তা দ্বারা আমি সন্তুষ্ট। আমি কী অনুপস্থিত, বা অন্য কোন তথ্য দেওয়ার দরকার নেই?
আপডেট : আমার ম্যাকে, pg_collation
টেবিলটি দেখায় যে আমার একটি en_US.UTF-8
কোলেশন রয়েছে, তবে ডেবিয়ানে, আমার একটি en_US.utf8
জোট রয়েছে। সুতরাং, আমার ম্যাক এ:
veure_test=# with foo as (
SELECT regexp_split_to_table('D d a A c b CD Capacitor', ' ') as bar
)
SELECT bar FROM foo
ORDER BY bar collate "en_US.UTF-8";
bar
-----------
A
CD
Capacitor
D
a
b
c
d
(8 rows)
এবং ডেবিয়ান:
veure_test=# with foo as (
SELECT regexp_split_to_table('D d a A c b CD Capacitor', ' ') as bar
)
SELECT bar FROM foo
ORDER BY bar collate "en_US.utf8";
bar
-----------
a
A
b
c
Capacitor
CD
d
D
(8 rows)
সুতরাং en_US.UTF-8
এবং en_US.utf8
বিভিন্ন সাজানোর আদেশ আছে?
select * from pg_collation
দেবিয়ান বাক্সটি দেখায় en_US.utf8
, যখন ওএস এক্স রয়েছে en_US.UTF-8
। এগুলি সম্পর্কিত বাক্সগুলিতে সুস্পষ্টভাবে জোটবদ্ধ করার জন্য বিভিন্ন ধরণের অর্ডার দেখায় :(
'D d a A c b CD Capacitor'
হিসাবে স্ট্রিংটি কাস্ট করা হচ্ছে না এমন কোনও সম্ভাবনাtext
? IE, চেষ্টা করুনSELECT regexp_split_to_table('D d a A c b CD Capacitor'::text, ' ') ORDER BY 1;
এবং দেখুন কী হয় ...