Odpowiedzi:
Odpowiednikiem jest BIT
pole.
W SQL
użyciu 0
i 1
ustawić pole bitowe (tak jak pole tak / nie w programie Access). W Management Studio wyświetla się jako wartość false / true (przynajmniej w najnowszych wersjach).
Podczas uzyskiwania dostępu do bazy danych za pośrednictwem ASP.NET ujawni to pole jako wartość logiczną.
Typ BIT
danych jest zwykle używany do przechowywania boolean
wartości ( 0
for false
, 1
for true
).
BIT
określony w standardzie SQL? Trudno mi to znaleźć. Najbliższe jakie widziałem to „typ boolowski”.
Możesz użyć bit
typu kolumny.
Możesz użyć typu danych bit
Wstawione wartości większe niż 0 zostaną zapisane jako „1”
Wstawione wartości mniejsze niż 0 zostaną zapisane jako „1”
Wartości wstawione jako „0” zostaną zapisane jako „0”
Dotyczy to MS SQL Server 2012 Express
0
jest fałszem, każda 0
liczba nie będąca liczbą jest prawdą. Często było również tak, że -1 jest domyślną wartością true, ponieważ w podpisanym pliku binarnym ma każdy bit ustawiony na 1. W dzisiejszych czasach bardzo często widzi się 1 jako domyślną wartość true (tylko najmniej znaczący zestaw bitów).
Istnieją już odpowiedzi mówiące o użyciu bitu. Dodam więcej do tych odpowiedzi.
Należy użyć bitu do reprezentowania wartości logicznych.
Uwagi z artykułu MSDN.
Bit może przyjmować wartość 1, 0 lub NULL.
Aparat baz danych programu SQL Server optymalizuje przechowywanie kolumn bitowych. Jeśli w tabeli jest 8 lub mniej kolumn bitowych, kolumny są zapisywane jako 1 bajt. Jeśli jest od 9 do 16 bitów kolumn, kolumny są przechowywane jako 2 bajty i tak dalej.
Wartości ciągu PRAWDA i FAŁSZ można przekonwertować na wartości bitowe: PRAWDA jest konwertowana na 1, a FAŁSZ na 0.
Konwersja na bit promuje każdą niezerową wartość do 1.
NOT NULL
Ponieważ Bit ma wartości 1, 0 i NULL. Zobacz tabelę prawdy. Więc odpowiednio zaplanuj wartości. Może to powodować zamieszanie, dopuszczając wartość NULL dla typu danych bitowych.
bit
będą najprostsze i zajmą najmniej miejsca. Niezbyt gadatliwy w porównaniu do „T / N”, ale nie mam nic przeciwko.
bit
jest najbardziej odpowiednią opcją. W przeciwnym razie kiedyś użyłem int
do tego celu. 1
dla true
i 0
dla false
.
W SQL Server Management Studio dowolnej wersji, użyj
BIT
jako typu danych
który zapewni Ci opcje True
lub False
wartość. jeśli chcesz użyć Tylko 1
lub 0
możesz użyć tej metody:
CREATE TABLE SampleBit(
bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)
Ale będę ściśle doradzać BIT
jako NAJLEPSZĄ opcję. Mam nadzieję, że to w pełni pomoże komuś.