【问题标题】:Difference between Bit and Boolean datatypes in PostgreSQLPostgreSQL 中位和布尔数据类型的区别
【发布时间】:2018-02-14 19:06:18
【问题描述】:

我是 PostgreSQL 新手。在数据库中创建表时我有疑问。谁能澄清bitboolean 数据类型之间的区别?

【问题讨论】:

  • 很多关于这个主题的帖子。你可以谷歌你的标题,你会找到一些答案。其他 RDBMS 的答案应该和 postgreSQL 一样好

标签: postgresql sqldatatypes


【解决方案1】:

bit 仅存储数字 01(或 null)。

boolean 仅存储 truefalse(或 null)。数字 (0, 1) 不是布尔值。布尔值可以在任何需要布尔 表达式 的地方使用。所以你可以例如这样做:

where is_active 

需要将位列与某物进行比较:

where a_bit_column = 0

a_bit_column = 0 的结果是布尔值)


与某些 DBMS 的想法相反,表达式 where 0where 1不是有效的布尔表达式。

【讨论】:

  • 因为,我是新学习postgres,你能分享一下我们应该在什么情况下使用bit over boolean?有什么注意事项吗?
  • @mehul9595 Postgres Hero Erwin 的另一个好答案:dba.stackexchange.com/a/156851/49113
猜你喜欢
  • 2011-05-30
  • 2010-09-13
  • 2011-03-27
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2018-01-03
  • 2013-11-04
  • 1970-01-01
相关资源
最近更新 更多