2013-03-05 68 views
5

Tôi muốn thực hiện truy vấn để nhận tất cả các mục có chuỗi 'id'> id được chỉ định.So sánh chuỗi PostgreSQL

Truy vấn select * from machine_thread where id > 'znRb1c_3TPytk-JoPX19Qw' trả về một mục với id zT4GabH3Qy2W6YIGh8Ku-w

Trong các ngôn ngữ khác tôi đang sử dụng (python, javascript) so sánh chuỗi sẽ thấy 'znRb1c_3TPytk-JoPX19Qw' lớn hơn 'zT4GabH3Qy2W6YIGh8Ku-w'. Postgresql là gì khác nhau, và có anyway tôi có thể sử dụng so sánh tương tự trên tất cả các môi trường để so sánh ID chuỗi?

+0

Kiểm tra cấu hình cơ sở dữ liệu của bạn và các thiết lập đối chiếu. Tôi không nhận được kết quả bạn làm trong cơ sở dữ liệu của tôi. – Pointy

Trả lời

4

Đó là vì COLLATE PostgreSQL đang sử dụng.

Thực thi SHOW LC_COLLATE để xem bạn đang sử dụng đối chiếu nào.

collation bạn muốn (một python và javascript đang sử dụng) là "C".

Ví dụ here

Chi tiết here

+0

Lưu ý rằng trên Pg 9.2 bạn có thể đặt collations cho mỗi cột và mỗi hoạt động, do đó bạn không cần phải phân loại các tên để thu thập C cho cột cụ thể này. –