Я пытаюсь создать оператор выбора, который совместим со всеми основными реляционными базами данных (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 здесь.)
Спасибо за помощь!