Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 15127|Risposta: 0

[Fonte] Uso di IFNULL, NULLIF e ISNULL

[Copiato link]
Pubblicato su 11/05/2018 13:37:59 | | |
L'uso di isnull, ifnull, nullif è il seguente:

Uso di isnull(expr):Se expr è nullo, allora isnull() restituisce un valore di 1, altrimenti restituisce 0.
mysql> seleziona isnull(1+1);
-> 0
mysql> seleziona isnull(1/0);
-> 1
Usare = per i confronti con valori nulli è solitamente sbagliato.

La funzione isnull() condivide alcune delle stesse caratteristiche dell'operatore di confronto is null. Vedi la nota su è nullo.

Utilizzo di IFNULL(expr1,expr2):

Se expr1 non è NULL, il valore di ritorno di IFNULL() è expr1;
Altrimenti, restituisce un valore di expr2. IFNULL() restituisce un numero o una stringa, a seconda del contesto in cui viene usata.

mysql> SELEZIONA IFNULL(1,0);
-> 1
mysql> SELEZIONA IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> seleziona
IFNULL(1/0,'sì');

-> 'sì'

Il valore predefinito del risultato per IFNULL(expr1,expr2) è l'espressione più "generica" delle due, nell'ordine di STRING, REAL o
INTERO。 Supponiamo una situazione in cui una tabella basata su espressioni, o MySQL, debba memorizzare il valore di ritorno di IFNULL() in una tabella temporanea nella memoria interna:
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
In questo esempio, la colonna di prova è di tipo CHAR(4).
Utilizzo di NULLIF(expr1,expr2):  
Se espr1
= expr2 è vero, allora il valore di ritorno è NULLO, altrimenti il valore di ritorno è expr1. Questo è lo stesso di CASE WHEN expr1 = expr2
Allora NULL ELSE expr1 END è lo stesso.
mysql> seleziona
NULLIF(1,1);

-> NULL
mysql> SELEZIONA NULLIF(1,2);
-> 1
Se i parametri non sono uguali, MySQL ottiene il valore expr1 due volte.






Precedente:Test delle prestazioni hardware della CPU server
Prossimo:Quando si utilizza MySQL per elaborare più di un milione di livelli di dati, ci sono alcuni buoni sensi che devono essere conosciuti
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com