2010-03-06 78 views

回答

2

如果我正确理解你的问题,这是因为Boolean values in MySql只是常量别名为1或0,并依赖于使用的基础类型。

+0

这并不能解释为什么*。 – ewernli 2010-03-06 10:08:19

5

这是因为SQL规范没有定义一个,直到SQL:1999,它没有强制执行。 MySQL在大多数组件之前只是为了允许关键字MSSQL,DB2和Oracle使用BIT和一些真/假常量来伪造它。

(基本上,它是说,虽然SQL规范规定它的发音一样的道理“ess queue ell,”我认识的人只是说“的续集,”因为我们是懒惰&了解情况。)

参见: Comparison of different SQL implementations

+0

伟大的链接。它解释了真正的原因:关于如何处理NULL的无尽讨论。超过15年后,只有PostgreSQL真的支持它。对于这种通常要求的数据类型有多疯狂? – Nate 2015-11-03 23:54:05