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
Nota
Per vedere quali integrazioni di fonti di AWS dati supportano questo SQL comando, consulta OpenSearch SQLComandi e funzioni supportati.
Funzione | Descrizione |
---|---|
coalesce (espr 1, espr 2,...) | Restituisce il primo argomento non nullo, se esiste. Altrimenti, null. |
se (espr 1, espr 2, espr 3) | Se expr1 restituisce true, restituisce; altrimenti restituisce. expr2 expr3 |
ifnull (espr 1, espr 2) | Restituisce expr2 se expr1 è nullo o meno. expr1 |
nanvl (espr 1, espr 2) | Restituisce expr1 se non è NaN o expr2 altro. |
nullif (espr 1, espr 2) | Restituisce null se è uguale a o meno. expr1 expr2 expr1 |
nvl (espr 1, espr 2) | Restituisce expr2 se expr1 è nullo o meno. expr1 |
nvl2 (espr 1, espr 2, espr 3) | Restituisce se non è nullo o altrimenti. expr2 expr1 expr3 |
CASEWHENespr1 espr THEN 2 [espr 3 espr4] * [WHENespr 5THEN] ELSE END | When expr1 = true, restituisceexpr2 ; altrimenti when = true, restituisce; else ritorna. expr3 expr4 expr5 |
Examples (Esempi)
-- coalesce SELECT coalesce(NULL, 1, NULL); +-----------------------+ |coalesce(NULL, 1, NULL)| +-----------------------+ | 1| +-----------------------+ -- if SELECT if(1 < 2, 'a', 'b'); +-------------------+ |(IF((1 < 2), a, b))| +-------------------+ | a| +-------------------+ -- ifnull SELECT ifnull(NULL, array('2')); +----------------------+ |ifnull(NULL, array(2))| +----------------------+ | [2]| +----------------------+ -- nanvl SELECT nanvl(cast('NaN' as double), 123); +-------------------------------+ |nanvl(CAST(NaN AS DOUBLE), 123)| +-------------------------------+ | 123.0| +-------------------------------+ -- nullif SELECT nullif(2, 2); +------------+ |nullif(2, 2)| +------------+ | NULL| +------------+ -- nvl SELECT nvl(NULL, array('2')); +-------------------+ |nvl(NULL, array(2))| +-------------------+ | [2]| +-------------------+ -- nvl2 SELECT nvl2(NULL, 2, 1); +----------------+ |nvl2(NULL, 2, 1)| +----------------+ | 1| +----------------+ -- when SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END; +-----------------------------------------------------------+ |CASE WHEN (1 > 0) THEN 1 WHEN (2 > 0) THEN 2.0 ELSE 1.2 END| +-----------------------------------------------------------+ | 1.0| +-----------------------------------------------------------+ SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END; +-----------------------------------------------------------+ |CASE WHEN (1 < 0) THEN 1 WHEN (2 > 0) THEN 2.0 ELSE 1.2 END| +-----------------------------------------------------------+ | 2.0| +-----------------------------------------------------------+ SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END; +--------------------------------------------------+ |CASE WHEN (1 < 0) THEN 1 WHEN (2 < 0) THEN 2.0 END| +--------------------------------------------------+ | NULL| +--------------------------------------------------+