初日 最新 目次 MAIL HOME


*-- To Tell The Truth --*
Cruz
MAIL
HOME

My追加

2002年01月29日(火)
Oracleがわがままなのか?

私が使っているのは


DB2

なんです。





とうとう(?)選択データのUPDATEを行う・・・という仕様が加わったため、
UPDATE文の作成を行う。一度にUPDATEする項目は3つ。
そのうち1つに値が入り、あとの2つにはNULLを入れるというもの。


UPDATE DATA SET C2 = '', C3 = '', C4 = '1234' WHERE C1 = '123'

とやってみる。

UPDATEはOK。
では、SELECT。


SELECT * WHERE C2 IS NOT NULL


おや?
C4に値を入力したレコードもヒットしている。



DB2では、
’’で入力した値は
長さ0の文字列
になるらしい。


NULLにはならないのね。
NULLを入力するには、

UPDATE DATA SET C2 = null, C3 = null, C4 = '1234' WHERE C1 = '123'

としないとダメだそうな。


こちらを参照


そんな話し聞いてないよ。