Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Funzioni e Operatori > Funzioni di supporto per enum
PrecedenteFunzioni e operatori di data/orarioFunzioni e operatori geometriciSuccessivo

9.10. Funzioni di supporto per enum

Per i tipi enum (descritti in Sezione 8.7, «Tipi enumerati»), ci sono diverse funzioni che consentono una programmazione più pulita senza utilizzo di hard-coding per particolari valori di un tipo enum. Queste sono elencate nella tabella Tabella 9.29, «Funzioni di supporto per enum». Gli esempi accettano un tipo enum creato come:

CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');

Tabella 9.29. Funzioni di supporto per enum

FunzioneDescrizioneEsempioEsempio di risultato
enum_first(anyenum)Restituisce il primo valore del tipo enum in inputenum_first(null::rainbow)red
enum_last(anyenum)Restituisce l'ultimo valore del tipo enum in inputenum_last(null::rainbow)purple
enum_range(anyenum)Restituisce tutti i valori del tipo enum in input, in un array ordinatoenum_range(null::rainbow){red,orange,yellow,green,blue,purple}
enum_range(anyenum, anyenum) Restituisce l'intervallo tra i due valori di enum forniti, come un array ordinato. I valori dovranno essere dello stesso tipo di enum. Se il primo parametro è null, il risultato inizierà con il primo valore del tipo enum. Se il secondo parametro è null, il risultato terminarà con l'ultimo valore del tipo enum. enum_range('orange'::rainbow, 'green'::rainbow){orange,yellow,green}
enum_range(NULL, 'green'::rainbow){red,orange,yellow,green}
enum_range('orange'::rainbow, NULL){orange,yellow,green,blue,purple}

[Nota]

Nota

Nota per il revisore: hardwired?

Notare che tranne che per la forma con due argomenti di enum_range, queste funzioni non tengono conto dello specifico valore che gli viene passato; si curano solo del tipo di dato dichiarato. Può essere passato indifferentemente null o un valore specifico del tipo, con lo stesso risultato. È più comune che queste funzioni siano applicate ad una colonna di tabella o ad un argomento di funzione piuttosto che ad un nome di tipo hardwired come suggerito dagli esempi.

Documentazione di PostgreSQL 9.0 > Il linguaggio SQL > Funzioni e Operatori > Funzioni di supporto per enum
PrecedenteFunzioni e operatori di data/orarioFunzioni e operatori geometriciSuccessivo