1
は、whileループ内の値に対してそれをチェックしようとしていますと、以下の結果を得ています:PL/SQLレコードプロパティ条件
をWhile my_record.x != 'TXT' Loop // loop does not enter
While NVL(my_record.x, '') != 'TXT' Loop // loop does not enter
While NVL(my_record.x, ' ') != 'TXT' Loop // loop enters
最初の2回の試行がデバッグ時に戻り値が式の真であることを知っているループに入っていないのはなぜですか?
最初の1つのdoesntからより多くを読むことをお勧めします 'my_record.xがNULL'されたときにtrueと評価。だから大丈夫ですか?他の2つは '{''、 ''} <> 'TXT' 'のために入力する必要があります。しかし、意味がない '2)'は入力せず、 '3)'ループを入力してください:/ –
このディスカッションを参照してください:http://stackoverflow.com/questions/203493/why-does-oracle-9i-treat-an-empty-文字列としてnull – DCookie
ありがとうDCookie – KAD