sql >> Databasteknik >  >> RDS >> PostgreSQL

Strängsorteringsordning (LC_COLLATE och LC_CTYPE)

Sorteringsordningen du beskriver är standarden på de flesta platser. Försök själv:

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

När du initierar ditt db-kluster med initdb du kan välja en lokal med --locale=some_locale . I mitt fall är det --locale=de_AT.UTF-8 . Om du inte anger något är språket från miljön – din nuvarande systemspråk kommer att användas.

Malldatabasen för klustret kommer att ställas in på det språket. När du skapar en ny databas ärver den inställningarna från mallen. Normalt behöver du inte oroa dig för någonting , allt bara fungerar.

Läs kapitlet om SKAPA DATABAS för mer.Om du vill påskynda textsökning med index, var noga med att läsa om operatörsklasser , likaså.
Alla länkar till version 8.4, som du specifikt bad om det.

I PostgreSQL 9.1 eller senare, det finns sorteringsstöd som tillåter mer flexibel användning av sorteringar:



  1. MySQL 1062 - Duplicera post '0' för nyckel 'PRIMÄR'

  2. Hur uppdaterar jag om det finns, infogar om inte (AKA upsert or merge) i MySQL?

  3. Varför returnerar SQLAlchemy create_engine med charset=utf8 pythontyp <str> och inte <unicode>?

  4. Hur får man det totala antalet hittade rader utan att beakta gränsen i PDO?