Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

NVL2 funzione

Modalità Focus
NVL2 funzione - Amazon Redshift

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à.

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à.

Restituisce uno dei due valori in base al fatto che un'espressione specificata valuti in NULL o NOT NULL.

Sintassi

NVL2 ( expression, not_null_return_value, null_return_value )

Argomenti

espressione

Un'espressione, come ad esempio un nome di colonna, da valutare per lo stato null.

not_null_return_value

Il valore restituito se l' espressione valuta in NOT NULL. Il valore not_null_return_value deve avere lo stesso tipo di dati dell' espressione o essere implicitamente convertibile in quel tipo di dati.

null_return_value

Il valore restituito se l' espressione valuta in NULL. Il valore null_return_value deve avere lo stesso tipo di dati dell' espressione o essere implicitamente convertibile in quel tipo di dati.

Tipo restituito

Il tipo di NVL2 restituzione è determinato come segue:

  • Se not_null_return_value o null_return_value è null, viene restituito il tipo di dati dell'espressione not null.

Se sia not_null_return_value sia null_return_value sono non null:

  • Se sia not_null_return_value sia null_return_value hanno lo stesso tipo di dati, viene restituito quel tipo di dati.

  • Se not_null_return_value e null_return_value hanno tipi di dati numerici diversi, viene restituito il tipo di dati numerico compatibile più piccolo.

  • Se not_null_return_value e null_return_value hanno tipi di dati di datetime diversi, viene restituito un tipo di dati numerici di timestamp.

  • Se not_null_return_value e null_return_value hanno diversi tipi di dati di carattere, viene restituito il tipo di dati di not_null_return_value.

  • Se not_null_return_value e null_return_value hanno tipi di dati numerici e non numerici misti viene restituito il tipo di dati di not_null_return_value.

Importante

Negli ultimi due casi in cui viene restituito il tipo di dati di not_null_return_value, null_return_value viene assegnato implicitamente a quel tipo di dati. Se i tipi di dati non sono compatibili, la funzione ha esito negativo.

Note per l'utilizzo

Funzione DECODEpuò essere usato in modo simile a NVL2 quando l'espressione e i parametri di ricerca sono entrambi nulli. La differenza è che per DECODE, la restituzione avrà sia il valore sia il tipo di dati del parametro risultato. Al contrario, for NVL2, il valore restituito avrà il valore del parametro not_null_return_value o null_return_value, a seconda di quale sia selezionato dalla funzione, ma avrà il tipo di dati not_null_return_value.

Ad esempio, supponendo che la colonna 1 sia NULL, le seguenti query restituiranno lo stesso valore. Tuttavia, il tipo di dati NVL2 del valore restituito DECODE sarà INTEGER e il tipo di dati del valore restituito sarà VARCHAR.

select decode(column1, null, 1234, '2345'); select nvl2(column1, '2345', 1234);

Esempio

L'esempio seguente modifica alcuni dati di esempio, quindi valuta due campi per fornire informazioni di contatto appropriate per gli utenti:

update users set email = null where firstname = 'Aphrodite' and lastname = 'Acevedo'; select (firstname + ' ' + lastname) as name, nvl2(email, email, phone) AS contact_info from users where state = 'WA' and lastname like 'A%' order by lastname, firstname; name contact_info --------------------+------------------------------------------- Aphrodite Acevedo (906) 632-4407 Caldwell Acevedo Nunc.sollicitudin@Duisac.ca Quinn Adams vel@adipiscingligulaAenean.com Kamal Aguilar quis@vulputaterisusa.com Samson Alexander hendrerit.neque@indolorFusce.ca Hall Alford ac.mattis@vitaediamProin.edu Lane Allen et.netus@risusDonec.org Xander Allison ac.facilisis.facilisis@Infaucibus.com Amaya Alvarado dui.nec.tempus@eudui.edu Vera Alvarez at.arcu.Vestibulum@pellentesque.edu Yetta Anthony enim.sit@risus.org Violet Arnold ad.litora@at.com August Ashley consectetuer.euismod@Phasellus.com Karyn Austin ipsum.primis.in@Maurisblanditenim.org Lucas Ayers at@elitpretiumet.com

Argomento successivo:

NULLIF

Argomento precedente:

NVL e COALESCE

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.