2013-03-05 7 views
5

Chciałbym zrobić zapytanie, aby uzyskać wszystkie elementy z ciągiem "id"> określonym identyfikatorem.Porównanie stringów PostgreSQL

Zapytanie select * from machine_thread where id > 'znRb1c_3TPytk-JoPX19Qw' zwraca element o identyfikatorze zT4GabH3Qy2W6YIGh8Ku-w

W innych językach używam (Python, JavaScript) porównanie ciąg pokaże, że 'znRb1c_3TPytk-JoPX19Qw' jest większa niż 'zT4GabH3Qy2W6YIGh8Ku-w'. Co to jest PostgreSQL robi inaczej, i czy mimo to mogę używać tego samego porównania we wszystkich środowiskach do porównywania identyfikatorów ciągów?

+0

Sprawdź konfigurację bazy danych i ustawień sortowania. Nie mam wyniku, który robisz w mojej bazie danych. – Pointy

Odpowiedz

4

Jest to spowodowane używaniem PostgreSQL przez COLLATE.

Wykonaj SHOW LC_COLLATE, aby zobaczyć, jakiego sortowania używasz.

Dostępne sortowanie (używany jest jeden python i javascript) to "C".

Przykład here

Szczegóły here

+0

Zauważ, że na Pg 9.2 możesz ustawić sortowanie na kolumnę i na operację, więc nie musisz zepsuć sortowania nazw, aby uzyskać sortowanie C dla tej konkretnej kolumny. –