こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Where句のNot条件をAnd条件にしたい!

現在where句でNot(A is not null and B is not null)という条件をしているSQLがあるのですが、この表現をNot句を使わずに表現するとなるとどのように表現したら良いのでしょうか?
SQL以前の問題だと思うのですが、上手く表現できずに件数が合わずに困っています。どなたか助言お願い致します。

投稿日時 - 2007-03-26 18:27:28

QNo.2867628

困ってます

質問者が選んだベストアンサー

下の方、結論違ってません?

Not(A is not null and B is not null)
= Not( Not(A is null) and Not(B is null) )
= Not(Not(A is null)) or Not(Not(B is null))
= A is null or B is null

投稿日時 - 2007-03-26 18:49:34

お礼

迅速な回答有難うございました。
解法も記していただき大変助かりました。

投稿日時 - 2007-03-26 19:25:23

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

No.1です。すみません、私の回答は誤りでした。
No.3の方の回答の通りです。

改めて書き直すと、
X=A is null
Y=B is null
とすると、
Not(A is not null and B is not null)
=Not(Not(X) and Not(Y))
=Not(Not X) or Not(Not Y)
=X or Y
=A is null or B is null
でした。

投稿日時 - 2007-03-26 19:19:51

お礼

最速で解法についてのアドバイスをいただきすぐに答えを導き出すことができました。有難う御座いました。

投稿日時 - 2007-03-26 19:26:59

ANo.4

No2です。
間違っていました。
交差する丸を描いて
片方の丸をA is Nullとして
もう片方をB is Nullとすれば、
A is not null and b is not null というのは
二つの丸以外の範囲なので、
Not(A is not null and b is not null)
というのは
最低どちらかの丸に属している範囲
A is null or B is null
でした。
ごめんなさい。(ご指摘ありがとうございます。)

投稿日時 - 2007-03-26 19:07:20

ANo.2

私はこのようなことがわからない際は図を描いてみます。

交差する丸を描いて
片方の丸をAis not Nullとして
もう片方をBis not Nullとすれば、
A is not null and b is not null というのは
二つの丸以外の範囲なので、
Not(A is not null and b is not null)
というのは
最低どちらかの丸に属している範囲になりますので、
A is not null or B is not null
となります。

投稿日時 - 2007-03-26 18:49:20

ANo.1

Not(A and B) = (Not A) or (Not B)
という風に論理式は展開できます。
この場合、
Not((Not A) and (Not B))
=Not(Not A) or Not(Not B)
=A or B

ということで、

A is not null or B is not null

となります。

投稿日時 - 2007-03-26 18:36:00

あなたにオススメの質問