Почему у нас нет логического типа данных в Firebird? - PullRequest
8 голосов
/ 15 февраля 2011

Если я не полностью ошибаюсь, у нас нет булевого типа данных (1 бит) в Firebird, даже SQL Server. Зачем? Я думаю, что логическое значение полезно в различных ситуациях ... И очень низкое потребление пространства ...

Ответы [ 3 ]

13 голосов
/ 15 февраля 2011

Firebird 3 представляет логический тип данных. См. Примечания к выпуску Firebird 3, тип данных BOOLEAN . Вы можете получить Firebird 3 от http://www.firebirdsql.org/en/firebird-3-0/

См. Также оригинальное объявление: http://asfernandes.blogspot.com/2010/12/introducing-boolean-datatype.html

5 голосов
/ 22 мая 2013

для этого нужно создать домен

CREATE DOMAIN D_BOOLEAN
 AS smallint
 CHECK (VALUE IS NULL OR VALUE IN (0, 1));

, а затем

изменить таблицу sometable добавить somefield d_boolean

отлично работает на нашей БД:)

0 голосов
/ 15 февраля 2011

Firebird имеет логические значения в виде типа данных bit.

http://www.firebirdsql.org/manual/migration-mssql-data-types.html

FTA:

Преобразование типа данных бит

Тип данных бит используется для хранения одного логического значения 0 или 1. MS SQL не поддерживает присвоение NULL этим полям. InterBase может эмулировать это с типом данных INTEGER или CHAR (1).

Допустимые значения могут быть ограничены с помощью доменов. Для получения дополнительной информации о доменах Firebird см. Документацию «Определение данных».

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