MsSQL - where not equal bit

MsSQL - where not equal bit
LU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
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ż:

Kopiuj
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ę.

PD
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
... Where param=0
--lub jeżeli kolumna może przyjmować wartości null
... Where isnull(param, 0)=0
LU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
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:

Kopiuj
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 :(.

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
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.

LU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

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

Kopiuj
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

PD
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
SELECT * FROM Table1
WHERE ID = 1234 AND isnull(STATUS, '') != 'Anulowane'

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.