sql-server – 有可能在Sql Server和PostgreSQL上做“where booleanvalue = false”吗?

前端之家收集整理的这篇文章主要介绍了sql-server – 有可能在Sql Server和PostgreSQL上做“where booleanvalue = false”吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使一个能够在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

在我们的程序中有相当多的查询,这样做,所以我更喜欢如果只有一些通用的语法,我可以使用而不是如果(dbformat ==“postgres”)..类型crap ..

此外,我宁愿将列作为布尔/位类型,而不是将其更改为整数类型..虽然这是一个选项..

解决方法

sql Server将自动将位值更改为true或false的varchar值.所以以下作品在那里:
select * from table where booleancol = 'false'

我不知道postgre做同样的事情.

猜你在找的MsSQL相关文章