回答編集履歴
2
コメントに対する回答
test
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
PostgreSQLでのみ使用できるらしいです。
|
2
|
+
|
3
|
+
因みに、自分の使用しているMySQL5.6では動作しませんでした。
|
4
|
+
|
5
|
+
![MySQLスクリーンキャプチャ](a5af0418d30c13bf2df9326fba11ec82.png)
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
---
|
10
|
+
|
1
11
|
質問者様からコメントをいただき再度調べてみました。
|
2
12
|
|
3
13
|
NULLとUNKNOWNは別もの(であるべき)という事の様です。
|
1
回答追記
test
CHANGED
@@ -1,3 +1,53 @@
|
|
1
|
+
質問者様からコメントをいただき再度調べてみました。
|
2
|
+
|
3
|
+
NULLとUNKNOWNは別もの(であるべき)という事の様です。
|
4
|
+
|
5
|
+
書き直すと下記のようです。(やはり私、独自の記述方式です。)
|
6
|
+
|
7
|
+
- NULL(KNOWN)
|
8
|
+
|
9
|
+
- UNKNOWN
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
しかし、実装しているRDBシステムによって実際の値は異なるようです。
|
14
|
+
|
15
|
+
MySQLではNULL <> UNKNOWNが仕様で記載されいるらしいですが、
|
16
|
+
|
17
|
+
別のあるRDBではNULL = UNKONWという仕様で設計されているようです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
どちらにしろ、下記のような処理はしては**いけない**という事です。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
```sql
|
26
|
+
|
27
|
+
SELECT
|
28
|
+
|
29
|
+
CASE [blnValue]
|
30
|
+
|
31
|
+
WHEN true THEN 'TRUE'
|
32
|
+
|
33
|
+
WHEN false THEN 'FALSE'
|
34
|
+
|
35
|
+
WHEN null THEN 'NULL'
|
36
|
+
|
37
|
+
ELSE 'UNKNOWN'
|
38
|
+
|
39
|
+
END
|
40
|
+
|
41
|
+
FROM table_some
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
---
|
48
|
+
|
49
|
+
|
50
|
+
|
1
51
|
リンク先を参照しましたが
|
2
52
|
|
3
53
|
> NULL (UNKNOWN)
|