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:
CASEexpressionWHENvalueTHENresult[WHEN...] [ELSEresult] END
Di seguito è disponibile una dichiarazione CASE ricercata che viene utilizzata per valutare ogni condizione:
CASE WHENboolean conditionTHENresult[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