gpt4 book ai didi

sql-server - 以某种方式在 Sql Server 和 PostgreSQL 上执行 `where booleanvalue=false`?

转载 作者:行者123 更新时间:2023-11-29 11:10:33 24 4
gpt4 key购买 nike

我正在尝试使应用程序能够在 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").. 输入废话..

此外,我更愿意将列保留为 bool /位类型,而不是将它们更改为整数类型..尽管这是一个选项..

最佳答案

对不起,这部分根本不是真的;不到一半是真的 ;-)

on PostgreSQL I must do

select * from table where booleancol is false

事实上,以下所有语法在 PostgreSQL 中都是有效的:

select * from table where not booleancol
select * from table where booleancol = 'f'
select * from table where booleancol = 'false'
select * from table where booleancol = 'n'
select * from table where booleancol is false
select * from table where booleancol is not true
select * from table where booleancol = false
select * from table where booleancol <> true
select * from table where booleancol != true
select * from table where booleancol <> 'TRUE'

这是 postgres 灵活语法的示例,它使得从其他数据库移植应用程序变得非常容易。

参见 the docs .

关于sql-server - 以某种方式在 Sql Server 和 PostgreSQL 上执行 `where booleanvalue=false`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1948827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com