Совместимый логический тип данных различных реляционных баз данных - PullRequest
1 голос
/ 29 октября 2010

Я пытаюсь создать оператор выбора, который совместим со всеми основными реляционными базами данных (MySQL, PostgreSQL, Derby, SQLite, ...).

Вот простой оператор выбора: SELECT * FROM taggings WHERE public IS TRUE

Проблема в том, что, например, SQLite не поддерживает логический тип данных, поэтому я переписал свое утверждение так: SELECT * FROM taggings WHERE public = 1

Насколько я знаю, оно действительно для SQLite (который использует какой-то видбайта для открытого поля), а также MySQL (который интерпретирует 1 как истину, потому что он использует логический тип для открытого поля).

Как насчет PostgreSQL, когда также используется логическое открытое поле?Из руководства похоже, что я должен написать SELECT * FROM taggings WHERE public = '1'.Или это эквивалентно в этом случае приведенному выше утверждению?(У меня нет возможности настроить базу данных PostgreSQL здесь.)

Спасибо за помощь!

1 Ответ

1 голос
/ 18 ноября 2010
SELECT * FROM taggings WHERE public
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...