Типы данных SQL Server 2008 - PullRequest
       3

Типы данных SQL Server 2008

0 голосов
/ 19 июня 2010

Я хочу, чтобы столбец имел только два значения. Например, я хочу, чтобы столбец был активным, может содержать только значения «Y» и «N». Я не хочу использовать логический тип данных.

Я ищу способ, похожий на мастер поиска MS Access, как это можно сделать?

Ответы [ 3 ]

3 голосов
/ 19 июня 2010

Использовать ненулевой бит

  • Что если вы хотите J и N для немецкого языка? Или другие языки? Это форматирование клиента
  • То же самое "true", "false"
  • Как насчет y / y / n / N? Юникод Ys и Ns?
  • Вам понадобится проверочное ограничение, чтобы ограничиться Y или N: почему, если у вас все равно есть бит?

Наконец, SQL Server не имеет логического типа как такового: код клиента будет интерпретировать бит как логический, хотя

Редактировать, после комментария на вопрос.

Если вам нужно добавить больше значений, я предлагаю таблицу поиска и внешний ключ. Это означает, что вы можете поддерживать новые значения без изменения кода (ограничение CHECK) и / или типов данных.

1 голос
/ 19 июня 2010

Что вы ищете: Проверьте ограничения например,

ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
    CHECK (CreditRating >= 1 AND CreditRating <= 5)

Или для вас

ALTER TABLE dbo.MyTableName ADD CONSTRAINT CK_MtTable_FieldName_YN
    CHECK (FieldName = 'Y' OR FieldName = 'N')
0 голосов
/ 19 июня 2010

Вы можете использовать varchar (1) или nvarchar (1).Установите ограничение на столбец, в котором вы указываете, что в качестве входных данных можно использовать только Y и N.

Grz, Kris.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...