2016-06-23 12 views
5

Sono nuovo di Postgres. Ho appena iniziato a impararlo dal here. Ho trovato COLLARE "C" da una dichiarazione presceltascopo di fascicolazione in Postgres

SELECT not_equal(first_name, last_name COLLATE "C") 

Mi piacerebbe sapere cosa farà il COLLATE "C"?

+1

https://www.postgresql.org/docs/current/static/collation.html –

risposta

4

La fascicolazione viene utilizzata per ordinare le stringhe (testo), ad esempio in ordine alfabetico, indipendentemente dal caso, come trattare le lettere che hanno accenti ecc. COLLARE "C" indica al database di non utilizzare le regole di confronto. Si potrebbe usare questo se stessero progettando un database per contenere i dati in diverse lingue. Tecnicamente, COLLATE "C" userà l'ordine dei byte per guidare i confronti del testo.

La prima risposta su https://dba.stackexchange.com/questions/94887/what-is-the-impact-of-lc-ctype-on-a-postgresql-database fornisce un buon esempio delle differenze tra l'utilizzo di COLLATE "C" e COLLATE "fr_FR" che utilizza la localizzazione francese.