1

から日付を引くと、SYSDATE否定的な結果が得られます。

select floor(SYSDATE - dateemb) from pilote;

FLOOR(SYSDATE-DATEEMB)
----------------------
                -29126
                -29137
                -29522

これに対する解決策はありますか?

テーブルパイロット:

Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------

 NUMPIL                                    NOT NULL NUMBER
 NOMPIL                                             VARCHAR2(25)
 ADRPIL                                             VARCHAR2(25)
 SALAIRE                                            NUMBER
 COMMISSION                                         NUMBER
 DATEEMB                                            DATE

使用したデータ:

NUMPIL   NOMPIL    ADRPIL   SALAIRE   COMMISSION     DATEEMB
------- --------  -------- --------   ----------    ---------
1333    FEDOI      NANTES   24000      0            01-MAR-92                           

6589    DUVAL      PARIS    18600     5580          12-MAR-92

7100    MARTIN     LYON     15600     16000         01-APR-93
4

1 に答える 1

4

この前の質問は、おそらく意図されているように、1992年ではなく92年を2092年(つまり将来)にする日付形式がOracleにあることを示しています。この形式を使用して2桁の年のデータを挿入した場合、日付はすべて間違っています。完全に書き出すと、それを確認できるはずです。解決策は、データが作成された時点でデータを修正し、4桁の年を使用することです。

于 2012-06-03T08:51:16.730 に答える