7

(+ 操作) を使用していくつかの計算を行っていますが、結果が null であることがわかり、データベースを確認したところ、number+number+nul+number+null+number...=null. これは私にとって問題です。

私の問題に対する提案はありますか?この王の問題を解決する方法は?ありがとう

4

4 に答える 4

1

COALESCE() または NVL() が何であるかについて言及している回答がないことに気付きました。混乱する可能性があるため、明確にしたいと思います(最初はそれらは結合関数だと思っていました)。

テーブル内の場所の完全な住所を選択するとします。AddressLine1 と AddressLine2 の 2 つのフィールドがあります。「AddressLine1」は常に NOT NULL であり、「AddressLine2」は NULL になる可能性があると仮定します。次に、次のようなものを書きたいと思うかもしれません:

(SQL Server):
SELECT AddressLine1 + COALESCE(AddressLine2, '')
FROM   Places

そのため、AddressLine2= NULL のエントリの場合、これは NULL を返しません。

PSなぜプラス演算がSQLでこのように設計されているのだろうか、本当に直感に反するように見える.

于 2013-12-05T18:32:55.193 に答える