我正在尝试使应用程序能够在 Sql Server 和 PostgreSQL 上运行。
我似乎找不到一个基本的通用表达方式
select * from table where booleancol=false
在 SQL Server 上我必须这样做(这非常令人困惑,因为位类型的默认值必须是 true 或 false,但您不能将它们分配给 true 或 false 或对其进行测试)
select * from table where booleancol=0
在 PostgreSQL 上我必须做
select * from table where booleancol is false
我们的程序中有相当多的查询可以做到这一点,所以我宁愿只使用一些通用语法而不是做if(dbformat=="postgres")..
类型废话。
另外,我更愿意将列保留为布尔/位类型,而不是将它们更改为整数类型..尽管这是一个选项..