T-SQL ISNULL function

T-SQL ISNULL function

26 stycznia, 2023 Wyłączono przez admin

Jak 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:

isnull-function-1

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