0

This is my linked server which is Oracle linked to SQL Server 2012のOracleリンクサーバー - DATE列が

クエリを働いていないとの問い合わせ:

SELECT DISTINCT RCPCODE 
FROM SMC..ICWGHC.C_JOBINFOHISTORY 
WHERE UPDATE_DATETIME >= '2017-01-14 13:08:49.0000000' 
    AND UPDATE_DATETIME <= '2017-01-16 13:08:49.0000000' 

SELECT DISTINCT RCPCODE 
FROM SMC..ICWGHC.C_JOBINFOHISTORY 
WHERE COMPLETE_DATETIME BETWEEN '2017-01-16 06:52:38.0000000' 
          AND '2017-01-16 12:52:38.0000000' 
ORDER BY COMPLETE_DATETIME DESC 

はどちらBETWEENとクエリと "> =" Date欄に条件のために動作しませんでした。

私はこのクエリを使用する場合:

SELECT DISTINCT RCPCODE 
FROM SMC..ICWGHC.C_JOBINFOHISTORY 

それはデータを返しありません。

BETWEENのデータをフィルタリングしてデータを取得したいので、datetimeでソートすることができます。

答えて

1

SQL ServerのOracleリンクサーバーと同様の状況があります。私は通常あなたがこの種のもののためにOPENQUERYを使用して以来、あなたが持っている構文を使用していなかったので、私はそれを試してみるだろうと思った。

暗黙のうちに起こった文字列変換の問題があります。 ...私は、日付/時刻文字列から末尾のゼロを削除

SELECT DISTINCT RCPCODE 
FROM SMC..ICWGHC.C_JOBINFOHISTORY 
WHERE COMPLETE_DATETIME BETWEEN CONVERT(DATETIME, '2017-01-16 06:52:38', 121) 
          AND CONVERT(DATETIME, '2017-01-16 12:52:38', 121) 
ORDER BY COMPLETE_DATETIME DESC 

注これを試してみてください。彼らは私を困らせていた。ここで

では、Oracleへのパススルークエリを実行するためにOPENQUERYを使用して何をするのかである...

SELECT * 
FROM OPENQUERY(SMC, ' 
    SELECT DISTINCT RCPCODE 
    FROM ICWGHC.C_JOBINFOHISTORY 
    WHERE COMPLETE_DATETIME BETWEEN ''2017-01-16 06:52:38'' 
       AND ''2017-01-16 12:52:38'' 
    ORDER BY COMPLETE_DATETIME DESC') 

私は再び末尾のゼロを削除しました。

どちらかお使いのものはありますか?

ノエル

関連する問題