Oracle
 sql >> Database >  >> RDS >> Oracle

MySQL COALESCE e funzione NULLIF

Discuteremo MySQL COALESCE e la funzione NULLIF in questo post. Mostreremo anche esempi MySQL COALESCE e un esempio di funzione MySQL NULLIF

Funzione MySQL COALESCE

COALESCE in MySQL è una funzione molto utile per selezionare prima valori non nulli dall'elenco di valori

Sintassi

COALESCE(val1, val2,val3,…valn)

La sintassi precedente è equivalente alla seguente istruzione IF-THEN-ELSE

IF val1 is not NULL THEN val1
ELSIF val2 is not NULL THEN val2
ELSIF val3 is not NULL THEN val3
ELSE NULL;
END IF

Questo è anche equivalente all'espressione case

Case
when val1 is not NULL then val1
when val2 is not NULL then val2
when val3 is not NULL then val3
else NULL
end

Utilizzo

Di seguito sono riportati alcuni esempi di funzione COALESCE

mysql> select COALESCE(1,2,3,null);
+----------------------+
| COALESCE(1,2,3,null) |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
mysql> select COALESCE(null,null,'a','b',null);
+----------------------------------+
| COALESCE(null,null,'a','b',null) |
+----------------------------------+
| a |
+----------------------------------+
1 row in set (0.00 sec)

mysql> select COALESCE(null,null,null);
+————————–+
| COALESCE(null,null,null) |
+————————–+
| NULL |
+————————–+
1 riga nel set (0,00 sec)

Supponiamo di avere una tabella EMP che contenga numero_mobile dipendente, numero_ufficio e numero_casa. Può contenere un valore nullo per uno qualsiasi di questi campi. Ora vuoi selezionare il telefono con priorità numero_mobile> numero_ufficio> numero_casa in caso di valori nulli. Quindi possiamo usare la seguente dichiarazione coalescente

select emp_name, coalesce(mobile_number,office_number,home_number) contact_no from emp;

Funzione MySQL NULLIF

La funzione Nullif in MySQL è una funzione molto utile per confrontare due valori e dare null se sono uguali, dare val1 se non sono uguali

NULLIF(val1,val2)

Utilizzo

Di seguito sono riportati alcuni esempi dell'istruzione NULLIF.

mysql> select nullif(1,2);
+————-+
| nullif(1,2) |
+————-+
| 1 |
+————-+
1 riga nel set (0,00 sec)

mysql> select nullif(2,1);
+————-+
| nullif(2,1) |
+————-+
| 2 |
+————-+
1 riga nel set (0,00 sec)

mysql> select nullif(1,1);
+-------------+
| nullif(1,1) |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)

Spero che questo post su MySQL Database COALESCE e NULLIF Function sia interessante e utile. Si prega di fornire il feedback per migliorare

Articoli correlati

Guida dettagliata per l'installazione di MySQL su Windows
Colonna di incremento automatico – Sequenza come valore predefinito in Oracle e MySQL
Le 51 domande e risposte più frequenti per le interviste a MySQL
Guida passo passo per creare ambiente di sviluppo locale di Apache PHP MySQL su Windows
Come reimpostare la password di root MySQL