sql >> Database >  >> RDS >> PostgreSQL

Sorteervolgorde van tekenreeksen (LC_COLLATE en LC_CTYPE)

De sorteervolgorde die u beschrijft is de standaard in de meeste landen. Probeer het gewoon zelf:

SELECT regexp_split_to_table('D d a A c b', ' ') ORDER BY 1;

Wanneer u uw db-cluster initialiseert met initdb je kunt een landinstelling kiezen met --locale=some_locale . In mijn geval is het --locale=de_AT.UTF-8 . Als u niets opgeeft, wordt de landinstelling overgenomen van de omgeving - uw huidige systeemlandinstelling wordt gebruikt.

De sjabloondatabase van het cluster wordt ingesteld op die landinstelling. Wanneer u een nieuwe database maakt, neemt deze de instellingen van de sjabloon over. Normaal gesproken hoef je je nergens zorgen over te maken , het werkt allemaal gewoon.

Lees het hoofdstuk over CREATE DATABASE voor meer informatie.Als je het zoeken naar tekst met indexen wilt versnellen, lees dan zeker over operatorklassen , ook.
Alle links naar versie 8.4, zoals je daar specifiek om hebt gevraagd.

In PostgreSQL 9.1 of later is er collation-ondersteuning dat een flexibeler gebruik van sorteringen mogelijk maakt:



  1. Hoe te verwijzen naar een samengestelde primaire sleutel in SQL

  2. Postgres-vensterfunctie met geaggregeerde groep op

  3. Alternatief voor behalve in MySQL

  4. Maak een aangepaste verzendmethode in OpenCart:deel twee