【发布时间】:2011-09-28 10:43:44
【问题描述】:
我有一个表,其中有一列数据类型为bit。
> CREATE MEMORY TABLE Dummy (name varchar(10), flag bit)
> INSERT INTO Dummy VALUES ('foo', 1)
> INSERT INTO Dummy VALUES ('bar', 0)
> INSERT INTO Dummy VALUES ('foo2', true)
> INSERT INTO Dummy VALUES ('bar2', false)
> select name from Dummy where flag=1
foo2
> select name from Dummy where flag=true
foo2
为什么我没有得到foo? 0 和 1 位如何转换为布尔值?似乎两者都是假的,我无法区分它们。
(顺便说一句,这个表是基于我在 Sybase 中的一个表。位 1 和 0 被正确地转换为真假。)
【问题讨论】: