【问题标题】:Compatible boolean data type of various relational databases兼容各种关系型数据库的布尔数据类型
【发布时间】:2010-10-29 19:34:03
【问题描述】:

我正在尝试创建一个与所有主要关系数据库(MySQL、PostgreSQL、Derby、SQLite...)兼容的选择语句。

这里是简单的选择语句:SELECT * FROM taggings WHERE public IS TRUE

问题是,例如 SQLite 不支持布尔数据类型,所以我将我的语句重写为:SELECT * FROM taggings WHERE public = 1

据我所知,它对 SQLite(公共字段使用某种字节)和 MySQL(将 1 解释为 true,因为它对公共字段使用布尔类型)有效。

PostgreSQL 也使用布尔公共字段时怎么样?从手册看来,我必须写SELECT * FROM taggings WHERE public = '1'。或者在这种情况下是否等同于上述陈述? (我没有机会在这里设置 PostgreSQL 数据库。)

感谢您的帮助!

【问题讨论】:

    标签: sql mysql database sqlite postgresql


    【解决方案1】:
    SELECT * FROM taggings WHERE public
    

    【讨论】:

    • 这也适用于那些没有布尔类型但存储 0 表示 false 的数据库?
    • 至少我所知道的一切。你提到的那些。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 2011-06-13
    • 2010-11-18
    • 1970-01-01
    • 2017-01-30
    相关资源
    最近更新 更多