Как создать логическое поле yes/no на SQL-сервере?

Какова наилучшая практика для создания yes/no, то есть Boolean поля при конвертации из access database или вообще?

Ответ 1

Эквивалент - это бит.

В SQL вы используете 0 и 1 для установки битового поля (как поля да/нет в Access). В Management Studio он отображается как значение false/true (по крайней мере, в последних версиях).

При доступе к базе данных через ASP.NET она выведет поле в виде логического значения.

Ответ 2

Тип данных BIT обычно используется для хранения значений boolean (0 для false, 1 для true).

Ответ 3

Вы можете использовать тип столбца bit.

Ответ 4

Вы можете использовать поле BIT.

Чтобы добавить столбец BIT в существующую таблицу, команда SQL будет выглядеть так:

ALTER TABLE table_name ADD yes_no BIT

Если вы хотите создать новую таблицу, вы можете сделать: CREATE TABLE table_name (yes_no BIT).

Ответ 5

Вы можете использовать тип данных bit

Вводимые значения, превышающие 0, будут сохранены как "1"

Введенные значения, которые меньше 0, будут сохранены как "1"

Значения, вставленные как "0", будут сохранены как "0"

Это справедливо для MS SQL Server 2012 Express

Ответ 6

Уже есть ответы, говорящие об использовании Бита. Я добавлю больше к этим ответам.

Вы должны использовать бит для представления логических значений.

Замечания из статьи MSDN.

Бит может принимать значение 1, 0 или NULL.

Компонент SQL Server Database Engine оптимизирует хранение битовых столбцов. Если в таблице 8 или менее битовых столбцов, столбцы сохраняются как 1 байт. Если есть от 9 до 16 битных столбцов, столбцы сохраняются как 2 байта и так далее.

Строковые значения TRUE и FALSE могут быть преобразованы в битовые значения: TRUE преобразуется в 1, а FALSE преобразуется в 0.

Преобразование в бит повышает любое ненулевое значение до 1.

Ссылка

Примечание. Рекомендуется хранить значения 1 и 0 только с типом данных NOT NULL

Поскольку бит имеет значения 1, 0 и NULL. Смотрите таблицу истинности для этого. Так что планируйте значения соответственно. Это может добавить путаницу, допуская значение NULL для типа данных бит.

enter image description here

Ссылка

Ответ 7

Использование примера при создании таблицы:

[ColumnName]     BIT   NULL   DEFAULT 0

Ответ 8

Вы можете использовать поле BIT

Чтобы создать новую таблицу:

CREATE TABLE Tb_Table1
(
ID              INT,
BitColumn       BIT DEFAULT 1
)

Добавление столбца в существующую таблицу:

ALTER TABLE Tb_Table1 ADD BitColumn  BIT DEFAULT 1

Вставить запись:

INSERT Tb_Table1 VALUES(11,0)

Ответ 9

bit будет самым простым и также займет наименьшее пространство. Не очень многословно по сравнению с "Y/N", но я в порядке с ним.

Ответ 10

bit - наиболее подходящий вариант. В противном случае я использовал int для этой цели. 1 для true и 0 для false.

Ответ 11

  В SQL Server Management Studio любой версии используйте BIT в качестве типа данных

который предоставит вам варианты значений True или False. если вы хотите использовать только 1 или 0, вы можете использовать этот метод:

CREATE TABLE SampleBit(
    bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)

Но я настоятельно рекомендую BIT вариант ЛУЧШИЙ. Надеюсь, что это полностью поможет кому-то.