MsSQL - where not equal bit

0

Witajcie,
Problem dość banalny ale nie mogę sobie z nim poradzić. Stosowałem już wszystkie znane mi metody i żadna nie działa. Potrzebuję wykonać zapytanie z klauzulą where, gdzie jeden z parametrów nie może mieć wartości true. Kolumna z tym parametrem jest typu bit. Próbowałem już:

where param != "True'
where param != True
where param != "1'
where param != 1
where param <> "True'
where param <> True
where param <> "1'
where param <> 1

Próbowałem też z klauzulą IS NOT, niestety nic nie działa. Powyższe metody zwracają albo błąd albo nie ma żadnych wyników. Już nie mam więcej pomysłów jak to napisać żeby zadziałało. Pomóżcie proszę.

0
... Where param=0
--lub jeżeli kolumna może przyjmować wartości null
... Where isnull(param, 0)=0
0

Dziękuję ślicznie za odpowiedź.
Mam jeszcze jedno pytanie a nie chcę zakładać nowego tematu.

Działało mi kiedyś jedno zapytanie (albo wydawało mi się że działało) a teraz nagle przestało. Robię coś takiego:

SELECT * FROM Table1
WHERE ID = 1234 AND STATUS != 'Anulowane' AND STATUS IS NULL

W tabeli dla ID 1234, kolumna status jest pusta, jest w niej null. Czyli teoretycznie takie zapytanie powinno zwrócić mi ten wiersz a nie zwraca nic. Nie wiem co może być nie tak :(.

1

Pokaż mi rekord, w którym pole Status ma wartość i ta wartość jest różna od 'Anulowane' i JEDNOCZEŚNIE nie ma żadnej wartości.

0

No ok, to faktycznie jest źle ale jak zrobię

SELECT * FROM Table1
WHERE ID = 1234 AND STATUS != 'Anulowane'

efekt jest identyczny. Nic nie zwraca. Za to jak zrobię samo WHERE ID = 1234 to zwraca prawidłowo jeden wiersz

0
SELECT * FROM Table1
WHERE ID = 1234 AND isnull(STATUS, '') != 'Anulowane'

1 użytkowników online, w tym zalogowanych: 0, gości: 1