0
我有這兩個表:查詢不減去正確
SQL> SELECT * FROM TAB_A;
MYDATE P4 D1 D2 P5 P6
--------- ---------- ---------- ----------- ----------- -----------
30-OCT-12 949,324 4,437,654 10,203,116 25,303,632 13,900,078
SQL> SELECT * FROM TAB_B;
MYDATE P4 D1 D2 P5 P6
--------- ---------- ---------- ----------- ----------- -----------
30-OCT-12 937,796 4,388,477 10,091,811 25,028,402 13,755,882
我需要減去各自列並存儲結果到第三個表所示:
SQL> INSERT INTO TAB_C (MYDATE, P4) SELECT SYSDATE,A.P4-B.P4 FROM TAB_A A,TAB_B B WHERE A.MYDATE=B.MYDATE;
SQL> SELECT * FROM TAB_C;
MYDATE P4 D1 D2 P5 P6
--------- ---------- ---------- ----------- ----------- -----------
30-OCT-12 926,268
的結果是錯誤的。基本數學:949324-937796=11528
。數字值存儲爲數字數據類型。我在這裏錯過了什麼?
好像這是隱含的,但做TAB_A和TAB_B恰好有一個行(一個顯示)? –
是的。兩個表都只有一行。這是一項批量工作。表格每次都會被截斷。 – Chris
這似乎很奇怪。有一點需要注意的是949324-926268 = 2 * 11528。換句話說,計算出的tab_c.p4 = tab_b.p4-11528。並且tab_c.p4 = tab_a.p4-2 * 11528。 –