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

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

+294
источник поделиться
11 ответов

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

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

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

+399
источник

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

+96
источник
другие ответы

Связанные вопросы


Похожие вопросы

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

+21
источник

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

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

ALTER TABLE table_name ADD yes_no BIT

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

+17
источник

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

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

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

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

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

+17
источник

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

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

Замечания из статьи 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

Ссылка

+14
источник

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

[ColumnName]     BIT   NULL   DEFAULT 0
+14
источник

Вы можете использовать поле 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)
+10
источник

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

+9
источник

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

+5
источник

  В 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 вариант ЛУЧШИЙ. Надеюсь, что это полностью поможет кому-то.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос