sql >> Base de Datos >  >> RDS >> SQLite

3 formas de reemplazar NULL con "N/A" en SQLite

En SQLite, si necesita reemplazar los resultados NULL con texto como "N/A", "Ninguno" o incluso el texto "NULL", puede usar una de las tres soluciones a continuación.

Datos de muestra

Primero, aquí hay un ejemplo de una consulta que devuelve algunos valores NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer
LIMIT 5;

Resultado:

CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2                        
3                        
4                        
5           +420 2 4172 5

Observe que las filas 2, 3 y 4 contienen valores NULL en el Fax columna.

Podemos usar los métodos a continuación para cambiar el resultado para que las columnas NULL muestren "N/A".

La función ifnull()

El ifnull() La función acepta dos argumentos y devuelve el primero que no es NULL. Si ambos argumentos son NULL, entonces devuelve NULL.

Por lo tanto, el primer argumento debe ser el valor que puede o no ser anulable, y el segundo argumento debe ser el valor con el que desea reemplazar cualquier valor NULL.

Así es como podemos modificar la consulta anterior para mostrar "N/A" siempre que el Fax la columna es NULL.

SELECT 
  CustomerId, 
  ifnull(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Resultado:

CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5

Función coalesce()

El coalesce() La función es muy similar a ifnull() función. La diferencia es que coalesce() acepta más de dos argumentos. Simplemente devuelve el primer argumento no NULL.

Por lo tanto, podemos usarlo exactamente de la misma manera que usamos ifnull() proporcionando dos argumentos.

SELECT 
  CustomerId, 
  coalesce(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Resultado:

CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5

El comando de punto .nullvalue

Al usar la interfaz de línea de comandos de SQLite, puede usar .nullvalue comando punto para evitar tener que usar una de las funciones anteriores cada vez que haces una consulta.

Al usar este comando, proporciona una cadena que se usará para reemplazar los valores NULL.

Ejemplo:

.nullvalue N/A

Ahora, siempre que ejecute una consulta que devuelva valores NULL, la cadena "N/A" reemplazará esos valores NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer 
LIMIT 5;

Resultado:

CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5