回答編集履歴
3
3値論理へのリンクを追加
test
CHANGED
@@ -12,6 +12,14 @@
|
|
12
12
|
|
13
13
|
https://teratail.com/questions/29384
|
14
14
|
|
15
|
+
**[3値論理](https://ja.wikipedia.org/wiki/3%E5%80%A4%E8%AB%96%E7%90%86)**
|
16
|
+
|
17
|
+
基本は「ウカシェヴィッチの3値論理」です。SQLは「クリーネの3値論理」を採用しています。両者の違いは、U -> U をTとするかUとするかです。
|
18
|
+
|
15
19
|
**意見**
|
16
20
|
|
17
|
-
数値を真理値とみるダブルスタンダードがあること、真理値unknownに該当する明示的な値がないこと(nullに変換)、などが、問題をややこしくしているようです。`not null`と値制約(0,1)を課して単純な2値論理の世界で使うのが良さそうです。
|
21
|
+
数値を真理値とみるダブルスタンダードがあること、真理値unknownに該当する明示的な値がないこと(nullに変換)、などが、問題をややこしくしているようです。`not null`と値制約(0,1)を課して単純な2値論理の世界で使うのが良さそうです。(BIT(1) NOT NULLが最も現実的でしょう)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
2
単純な2値論理の世界で使う
test
CHANGED
@@ -12,4 +12,6 @@
|
|
12
12
|
|
13
13
|
https://teratail.com/questions/29384
|
14
14
|
|
15
|
+
**意見**
|
15
16
|
|
17
|
+
数値を真理値とみるダブルスタンダードがあること、真理値unknownに該当する明示的な値がないこと(nullに変換)、などが、問題をややこしくしているようです。`not null`と値制約(0,1)を課して単純な2値論理の世界で使うのが良さそうです。
|
1
unkownとnullは同じか?
test
CHANGED
@@ -8,4 +8,8 @@
|
|
8
8
|
`=`を使用するとnullがある場合、三値論理が適用されて結果はnull。
|
9
9
|
`is`を使用するとnullがある場合、三値論理の値を判定し結果(true/false)を返します。
|
10
10
|
|
11
|
+
teratailの過去の記事に詳しい説明が載っていました
|
11
12
|
|
13
|
+
https://teratail.com/questions/29384
|
14
|
+
|
15
|
+
|