teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメントに対する回答

2016/03/12 10:43

投稿

Aeona
Aeona

スコア396

answer CHANGED
@@ -1,3 +1,8 @@
1
+ PostgreSQLでのみ使用できるらしいです。
2
+ 因みに、自分の使用しているMySQL5.6では動作しませんでした。
3
+ ![MySQLスクリーンキャプチャ](a5af0418d30c13bf2df9326fba11ec82.png)
4
+
5
+ ---
1
6
  質問者様からコメントをいただき再度調べてみました。
2
7
  NULLとUNKNOWNは別もの(であるべき)という事の様です。
3
8
  書き直すと下記のようです。(やはり私、独自の記述方式です。)

1

回答追記

2016/03/12 10:43

投稿

Aeona
Aeona

スコア396

answer CHANGED
@@ -1,3 +1,28 @@
1
+ 質問者様からコメントをいただき再度調べてみました。
2
+ NULLとUNKNOWNは別もの(であるべき)という事の様です。
3
+ 書き直すと下記のようです。(やはり私、独自の記述方式です。)
4
+ - NULL(KNOWN)
5
+ - UNKNOWN
6
+
7
+ しかし、実装しているRDBシステムによって実際の値は異なるようです。
8
+ MySQLではNULL <> UNKNOWNが仕様で記載されいるらしいですが、
9
+ 別のあるRDBではNULL = UNKONWという仕様で設計されているようです。
10
+
11
+ どちらにしろ、下記のような処理はしては**いけない**という事です。
12
+
13
+ ```sql
14
+ SELECT
15
+ CASE [blnValue]
16
+ WHEN true THEN 'TRUE'
17
+ WHEN false THEN 'FALSE'
18
+ WHEN null THEN 'NULL'
19
+ ELSE 'UNKNOWN'
20
+ END
21
+ FROM table_some
22
+ ```
23
+
24
+ ---
25
+
1
26
  リンク先を参照しましたが
2
27
  > NULL (UNKNOWN)
3
28