T-SQL ISNULL function
26 stycznia, 2023Jak już wiemy IS NULL to wartość nieokreślona i możemy „za jej pomocą” np. filtrować rekordy w zapytaniu. Ale istnieje także funkcja ISNULL(). Funkcja ta zawiera dwa parametry ISNULL(sprawdzane_wyrażenie , wartość_do_zamiany). Funkcja ta na początku sprawdza czy w pierwszym parametr przyjmuje wartość NULL, jeśli tak to podmienia jego wartość na wartość drugiego parametru. Zobaczmy to na przykładzie.
Do tego przykłądu stworzyłem bazę „test” w której stworzyłem tabelę „table_test”, a w niej trzy kolumny: kolA, kolB, kolC.
kolumna kolA – przechowuje kolory
kolumna kolB – przechowuje liczby
kolumna kolC – przechowuje liczebniki główne
Wyświetlmy teraz tabelę „table_test” zwykłym SELECT-em.
SELECT
kolA
,kolB
,kolC
FROM
table_test
Tabela po wyświetleniu wygląda tak:
Zwróc uwagę, że w kolumnie „kolA” jest jedna wartość NULL i w kolumnie „kolB” jest jedna wartość NULL.
Jak zrobić, żeby zastąpić te wartości właściwymi wartościami np. w kolumnie która przechowuje kolory (kolA) wstawimy wartość 'brak koloru’ a w kolumnie która przechowuje liczby (kolB) wstawimy wartość „0”. Zaprogramujemy także, że jeżeli w kolumnie „kolC” znalazłaby się wartość NULL to zamienimy ją na „brak”.
Do wykonania tego zadania użyjemy funkcji ISNULL i nasze zapytanie przybieże postać.
SELECT
ISNULL(kolA , 'brak koloru’) AS kolA
,ISNULL(kolB , 0) AS kolB
,ISNULL(kolC , 'brak’) AS kolC
FROM
table_test