sql >> Databasteknik >  >> RDS >> Mysql

Hur visar jag text i ett tomt fält i en sql-fråga?

Du kan använda en CASE :

select concat(first_name, " ", last_name) as CustomerName, 
   address, 
   case when address2 is null then 'None Provided' else address2 end as address2, 
   postal_code 
from customer
inner join address 
using (address_id);

Eller ännu bättre COALESCE :

select concat(first_name, " ", last_name) as CustomerName, 
   address, 
   COALESCE(address2,'None Provided') as address2, 
   postal_code 
from customer
inner join address 
using (address_id);

Om data innehåller en tom sträng eller null, skulle jag överväga att använda:

select concat(first_name, " ", last_name) as CustomerName, 
   address, 
   case 
     when address2 is null or address2 = '' 
     then 'None Provided' 
     else address2 end as address2, 
   postal_code 
from customer
inner join address 
using (address_id);


  1. Prestandastraff för kapslade mysql-frågor

  2. Kunde inte öppna JPA EntityManager för transaktion; kapslat undantag är javax.persistence.PersistenceException

  3. Fel vid konvertering av datatyper vid import från Excel till SQL Server 2008

  4. SQL ROWNUM hur man returnerar rader mellan ett specifikt intervall