Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzioni condizionali
Importante
Amazon S3 Select non è più disponibile per i nuovi clienti. I clienti esistenti di Amazon S3 Select possono continuare a utilizzare la funzionalità come di consueto. Ulteriori informazioni
Amazon S3 Select supporta le seguenti funzioni condizionali.
CASE
L'espressione CASE
è un'espressione condizionale, simile alle istruzioni if/then/else
presenti in altre lingue. CASE
è utilizzata per specificare un risultato quando ci sono condizioni multiple. Esistono due tipi di espressioni CASE
: semplici e ricercate.
Nelle espressioni CASE
semplici, un'espressione viene confrontata con un valore. Quando viene trovata una corrispondenza, viene applicata l'azione specificata nella clausola THEN
. Se non viene trovata una corrispondenza, viene applicata l'azione nella clausola ELSE
.
Nelle espressioni CASE
cercate, ogni CASE
viene valutata in base a un'espressione booleana e l'istruzione CASE
restituisce la prima CASE
corrispondente. Se non vengono trovate corrispondenze CASE
tra le clausole WHEN
, viene restituita l'operazione nella clausola ELSE
.
Sintassi
Nota
Attualmente Amazon S3 Select non supporta ORDER BY
o query che contengono nuove righe. Assicurati di utilizzare query senza interruzioni di riga.
Quella che segue è una semplice dichiarazione CASE
che viene utilizzata per soddisfare le condizioni:
CASE
expression
WHENvalue
THENresult
[WHEN...] [ELSEresult
] END
Di seguito è disponibile una dichiarazione CASE
ricercata che viene utilizzata per valutare ogni condizione:
CASE WHEN
boolean condition
THENresult
[WHEN ...] [ELSEresult
] END
Esempi
Nota
Se utilizzi la console Amazon S3 per eseguire i seguenti esempi e il file CSV contiene una riga di intestazione, seleziona Exclude the first line of CSV data (Escludi la prima riga di dati CSV).
Esempio 1: utilizza una semplice espressione CASE
per sostituire New York City
con Big Apple
in una query. Sostituire tutti gli altri nomi di città con other
.
SELECT venuecity, CASE venuecity WHEN 'New York City' THEN 'Big Apple' ELSE 'other' END FROM S3Object;
Risultato della query:
venuecity | case -----------------+----------- Los Angeles | other New York City | Big Apple San Francisco | other Baltimore | other ...
Esempio 2: utilizza un'espressione CASE
con ricerca per assegnare numeri di gruppo in base al valore pricepaid
per le vendite di biglietti singoli:
SELECT pricepaid, CASE WHEN CAST(pricepaid as FLOAT) < 10000 THEN 'group 1' WHEN CAST(pricepaid as FLOAT) > 10000 THEN 'group 2' ELSE 'group 3' END FROM S3Object;
Risultato della query:
pricepaid | case -----------+--------- 12624.00 | group 2 10000.00 | group 3 10000.00 | group 3 9996.00 | group 1 9988.00 | group 1 ...
COALESCE
COALESCE
valuta gli argomenti in ordine e restituisce il primo valore non sconosciuto, ovvero il primo non nullo o non mancante. Questa funzione non propaga valori null e mancanti.
Sintassi
COALESCE (
expression
,expression
, ... )
Parametri
-
expression
-
L'espressione di destinazione su cui viene eseguita la funzione.
Esempi
COALESCE(1) -- 1 COALESCE(null) -- null COALESCE(null, null) -- null COALESCE(missing) -- null COALESCE(missing, missing) -- null COALESCE(1, null) -- 1 COALESCE(null, null, 1) -- 1 COALESCE(null, 'string') -- 'string' COALESCE(missing, 1) -- 1
NULLIF
Date due espressioni, NULLIF
restituisce NULL
se le due espressioni restituiscono lo stesso valore. In caso contrario, restituisce il risultato della valutazione della prima espressione.
Sintassi
NULLIF (
expression1
,expression2
)
Parametri
-
expression1
,expression2
-
Le espressioni di destinazione su cui viene eseguita la funzione.
Esempi
NULLIF(1, 1) -- null NULLIF(1, 2) -- 1 NULLIF(1.0, 1) -- null NULLIF(1, '1') -- 1 NULLIF([1], [1]) -- null NULLIF(1, NULL) -- 1 NULLIF(NULL, 1) -- null NULLIF(null, null) -- null NULLIF(missing, null) -- null NULLIF(missing, missing) -- null