如何在 Postgresql 中处理位到布尔功能

How to handle bit to boolean functionality in Postgresql

作为从 MSSQL 到 PostgreSQL 的数据库迁移的一部分,发现在 POSTGRESQL 中将位转换为布尔值时出现问题。

在MSSQL中:位数据类型可以取1,0,true,false作为输入参数的值 .

IN PostgreSQL: bit 数据类型只能取 1 和 0 作为值。

那么如何在 PostgreSQL 中为位列传递 'true'/'false' 值。 应用程序代码.NET 。如果不是数据库级别,这可以在 应用程序级别 中实现吗? 这可以使用 ngpsql

处理吗

您应该在应用程序级别执行此操作。

数据库级别的修复是将 PostgreSQL 列类型更改为 boolean 以便它只接受 true/false 值,但我敢打赌有很多在您的系统中使用期望数字等效 0/1 值。这也会影响值在报告中的显示方式或粘贴到 Excel 中的方式。

我会根据哪种内部表示导致系统转换中的维护工作最少来决定。