回答編集履歴
2
コメントに対する回答
answer
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
PostgreSQLでのみ使用できるらしいです。
|
2
|
+
因みに、自分の使用しているMySQL5.6では動作しませんでした。
|
3
|
+

|
4
|
+
|
5
|
+
---
|
1
6
|
質問者様からコメントをいただき再度調べてみました。
|
2
7
|
NULLとUNKNOWNは別もの(であるべき)という事の様です。
|
3
8
|
書き直すと下記のようです。(やはり私、独自の記述方式です。)
|
1
回答追記
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
|
|