Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zamienić wartości null na nieznane w instrukcji Select w SQL Server — samouczek SQL Server / TSQL, część 111

Scenariusz:


Pracujesz jako programista SQL Server, musisz wykonać zapytanie do tabeli dbo.Customer i zamienić wartości Null w kolumnie Name na "Unknown Name". Jakich funkcji SQL użyjesz do zastąpienia wartości Null „Nieznaną nazwą”?


Rozwiązanie:

Możesz użyć funkcji ISNULL lub COALESCE, aby zastąpić Null wartością, którą lubimy. Utwórzmy tabelę dbo.Customer i wstawmy przykładowe rekordy, korzystając z poniższych instrukcji.

--Create dbo.Customer table
Create table dbo.Customer(
Id int,
Name VARCHAR(10),
Address VARCHAR(100))

--Insert records in dbo.Customer table
Insert into dbo.Customer
Values(1,'Aamir','XyZ Address')
,(2,'Raza',Null)
,(3,null,'abc address')
 
 
 
 Użyjmy funkcji ISNULL lub COALESCE, aby zastąpić wartość Null „Unknown Name”.
Select Id,ISNULL(Name,'Unknown Name') AS NameByISNull,
COALESCE(Name,'Unknown Name') NamebyCoalesce,
Address From dbo.Customer
 
 
Jak zamienić wartość Null na wartości w SQL Server — samouczek TSQL


 Jak widać, użyliśmy ISNULL i zastąpiliśmy Null "Unknown Name", ale zwróciło "Unknown Na", nie zwróciło pełnego "Unknown Name". Powodem, typem danych wyrażenia ISNULL jest typ danych pierwszego wejścia (kolumna Name), czyli varchar(10), co oznacza, że ​​zawsze zwróci nam 10 znaków.
Jeśli masz takie sytuacje, lepiej użyć COALESCE. Typ danych wyrażenia COALESCE to typ danych argumentu wejściowego o najwyższym priorytecie typu danych. W naszym przypadku "Nieznana nazwa" ma 12 znaków i wybrała użycie tego zamiast typu danych kolumny Nazwa, którym jest varchar(10).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj profil poczty bazy danych w programie SQL Server (T-SQL)

  2. @@ROWCOUNT — Uzyskaj liczbę wierszy, których dotyczy ostatnia instrukcja w SQL Server

  3. Jak ustawić limit czasu skryptu SQL Server z poziomu skryptu?

  4. Obsługa Spotlight Cloud dla ogłoszenia o usłudze Azure SQL DB (wersja zapoznawcza)

  5. Usuń liczby z serwera sql string