Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Propagacja wartości NULL w wyrażeniach

Wartości NULL są propagowane w wyrażeniach według kilku reguł logicznych zgodnych z intuicją.

Funkcje

Ogólna zasada jest taka, że funkcje zwracają wartość NULL, jeśli ich parametry wykraczają poza zakres zdefiniowanych wartości działania funkcji.

Przykład:  

  • asin(2) zwraca NULL
  • log(-5) zwraca NULL
  • round(A,0) zwraca NULL

Z powyższej reguły wynika, że funkcje zazwyczaj zwracają wartość NULL, jeśli dowolny z parametrów niezbędnych do obliczenia wartości jest równy NULL.

Przykład:  

  • sin(NULL) zwraca NULL
  • chr(NULL) zwraca NULL
  • if(NULL, A, B) zwraca B
  • if(True, NULL, A) zwraca NULL
  • if(True, A, NULL) zwraca A

Wyjątkiem od tej drugiej reguły są funkcje logiczne sprawdzające typ.

Przykład:  

  • isnull(NULL) zwraca True (-1)
  • isnum(NULL) zwraca False (0)

Operatory arytmetyczne i działające na ciągach znaków

Jeśli po dowolnej stronie tych operatorów napotykana jest wartość NULL, zwracana jest wartość NULL.

Przykład:  

  • A + NULL zwraca NULL
  • A - NULL zwraca NULL
  • A / NULL zwraca NULL
  • A * NULL zwraca NULL
  • NULL / A zwraca NULL
  • 0 / NULL zwraca NULL
  • 0 * NULL zwraca NULL
  • A & NULL zwraca A

Operatory relacyjne

Obsługa wartości NULL po dowolnej stronie operatorów relacyjnych podlega specjalnym zasadom.

Przykład:  

  • NULL rel.op NULL zwraca NULL
  • A <> NULL zwraca True (-1)
  • A < NULL zwraca False (0)
  • A <= NULL zwraca False (0
  • A = NULL zwraca False (0
  • A >= zwraca False (0
  • A > NULL zwraca False (0

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com