教授问我这个问题:
三值逻辑上下文中布尔和比较运算符的语义是什么?
我不确定他的意思。什么是比较运算符?这与关系运算符相同吗?语义?他在三值逻辑的背景下询问这两个术语的“意义”吗?
感谢。
答案 0 :(得分:6)
根据定义,布尔值包含两个选项:True和False,或者它们的一些表示,如1/0,ON / OFF,YES / NO等。
许多数据库系统还允许您在指定为布尔值的字段中存储NULL值,以允许它们表示三个值:Yes,No和Unknown(NULL)。
布尔运算符是AND,OR和NOT 比较运算符是EQUALS或NOT EQUALS的某种形式。
两端的TRUE / FALSE值操作显而易见:
是或否 - > TRUE
不正确 - > FALSE
TRUE = TRUE - >是的
他得到的是添加NULL(未知)值的后果:
TRUE或UNKNOWN(NULL) - > ???
NOT UNKNOWN(NULL) - > ???
TRUE = UNKNOWN(NULL) - > ???
答案 1 :(得分:3)
http://en.wikipedia.org/wiki/Null_(SQL)#Three-valued_logic_.283VL.29
基本上,三个值逻辑是true / false / null,当比较true == null,null == null等时,布尔/比较运算符将以某种方式运行。
答案 2 :(得分:0)
根据定义,布尔逻辑仅使用两个值。对我来说,这个问题没有意义。如果他问你如何定义或扩展布尔逻辑以便它可以使用三值系统,那就更清楚了。