1

次のクエリを実行しようとしています。

SELECT *
FROM OPENQUERY
(
    CLP,
    '
        SELECT *
        FROM ORACLE_TABLE
        WHERE [UPDATEDATE] > ''1900-01-01 12:00 AM''
    '
)

日付基準を削除すると、このクエリは正常に機能します。しかし、この基準に合格しようとするとすぐに機能しなくなります。何が欠けているのかわかりません。

4

2 に答える 2

1

変換日を削除[して追加してみてください。]

SELECT * 
FROM OPENQUERY
(CLP, 
      '
         SELECT * 
         FROM ORACLE_TABLE 
         WHERE 
         UPDATEDATE > to_date(''1900-01-01 12:00'',''yyyy-mm-dd hh:mi'')
       '
)

またはとam

SELECT * 
FROM OPENQUERY
(CLP, 
      '
         SELECT * 
         FROM ORACLE_TABLE 
         WHERE 
         UPDATEDATE > to_date(''1900-01-01 12:00 AM'',''yyyy-mm-dd hh:miam '')
       '
)
于 2012-10-02T20:45:38.590 に答える
0

使用する

SELECT *
FROM OPENQUERY
(CLP,SELECT * FROM ORACLE_TABLE WHERE trunc(UPDATEDATE) > ''01-JAN-1900'')

時間コンポーネントがないすべての日付は、Oracleではデフォルトで12:00 AM(または00:00 Hrs)になります。

を使用することもできますto_timestamp(UPDATEDATE)が、これが機能するには、列がタイムスタンプタイプである必要があります(つまり、タイムスタンプが含まれている必要があります。そうでない場合は、常に午前12時が表示されます)。を使用することもできますto_char(UPDATEDATE,'YYYY-MM-DD HH:MI AM')

于 2012-10-02T20:44:57.877 に答える