Jak utworzyć pole logiczne tak/nie w SQL server?
Jaka jest najlepsza praktyka tworzenia yes/no
tj. Boolean
pola podczas konwersji z access database
lub ogólnie?
11 answers
Odpowiednikiem jest pole BIT
.
W SQL
używasz 0
i 1
aby ustawić pole bitowe(podobnie jak Pole tak/nie w Access). W Management Studio wyświetla się jako wartość false/true (przynajmniej w najnowszych wersjach).
Podczas uzyskiwania dostępu do bazy danych poprzez ASP.NET wyświetli pole jako wartość logiczną.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-19 06:50:21
Typ danych BIT
jest zwykle używany do przechowywania boolean
wartości (0
dla false
, 1
dla true
).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-02 12:26:41
Możesz użyć typu kolumny bit
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-22 00:18:48
Możesz użyć pola BIT
.
Aby dodać kolumnę bitową do istniejącej tabeli, polecenie SQL wyglądałoby następująco:
ALTER TABLE table_name ADD yes_no BIT
Jeśli chcesz utworzyć nową tabelę, możesz to zrobić: CREATE TABLE table_name (yes_no BIT)
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-30 18:51:19
Możesz użyć typu danych bit
Wartości, które są większe niż 0, będą przechowywane jako " 1 "
Wartości, które są mniejsze niż 0, zostaną zapisane jako " 1 "
Wartości wstawione jako " 0 "będą przechowywane jako" 0 "
Dotyczy to MS SQL Server 2012 Express
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-16 18:53:27
Istnieją już odpowiedzi mówiące o użyciu bitu. Dodam więcej do tych odpowiedzi.
Powinieneś użyć bit do reprezentowania wartości logicznych.
Uwagi z artykułu MSDN.
Bit może przyjmować wartość 1, 0 lub NULL.
Silnik bazy danych SQL Server optymalizuje przechowywanie kolumn bitowych. Jeśli w tabeli jest 8 lub mniej kolumn bitowych, kolumny są przechowywane jako 1 bajt. Jeśli jest od 9 do 16 bitowych kolumn, kolumny są zapisanych jako 2 bajty, a więc on
Wartości łańcuchowe TRUE I FALSE można przekonwertować na wartości bitowe: TRUE jest konwertowane na 1, A FALSE jest konwertowane na 0.
Konwersja na bit Promuje dowolną wartość niezerową do 1.
Uwaga: dobrą praktyką jest zachowywanie wartości jako 1 i 0 tylko dla typu danych NOT NULL
Jako Bit mają wartości 1, 0 I NULL. Zobacz tabelę prawdy. Więc planuj wartości odpowiednio. Może to dodać zamieszanie, zezwalając na wartość NULL dla danych bitowych Typ.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55
Przykładowe użycie podczas tworzenia tabeli:
[ColumnName] BIT NULL DEFAULT 0
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-24 14:58:59
Możesz użyć pola BIT
Aby utworzyć nową tabelę:
CREATE TABLE Tb_Table1
(
ID INT,
BitColumn BIT DEFAULT 1
)
Dodanie kolumny w istniejącej tabeli:
ALTER TABLE Tb_Table1 ADD BitColumn BIT DEFAULT 1
Aby wstawić rekord:
INSERT Tb_Table1 VALUES(11,0)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-12 18:55:09
bit
będzie najprostszy, a także zajmuje najmniej miejsca. Niezbyt gadatliwy w porównaniu do "Y / N", ale nie przeszkadza mi to.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-22 00:21:27
bit
jest najbardziej odpowiednią opcją. W przeciwnym razie kiedyś użyłem int
do tego celu. 1
dla true
& 0
dla false
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-17 12:25:52
W SQL Server Management Studio dowolnej wersji użyj
BIT
jako typu danych
, który zapewni Ci opcje wartości True
lub False
. 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ł {[1] } jako najlepszą opcję . Mam nadzieję, że to ktoś pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-08-01 10:07:00