2

現在から2週間前のOracleデータベースからデータを取得する必要があります。

それは複雑なクエリであり、where句にこの条件があります。

私は間で使用しようとしました。しかし無駄に。私はその間の解決にいくつかのばかげた間違いを犯していると確信しています。

to_date(to_char(sysdate,'yyyy') || to_char(sgs.status_Date,'mmdd'),'yyyymmdd' )
    between (trunc(sysdate)) and trunc(sysdate) - 14

どんな助けでも大歓迎です。

4

2 に答える 2

1

sysdate-14 <sysdateになり次第、日付を変更する必要があります。

to_date(to_char(sysdate,'yyyy') || to_char(sgs.status_Date,'mmdd'),'yyyymmdd' ) 
between (trunc(sysdate) - 14) and (trunc(sysdate)) 
于 2012-08-28T13:25:16.390 に答える
1

@valexが言うように、式の順序を入れ替える必要があります。状態ドキュメントにあるBETWEENように:

...の値

expr1 BETWEEN expr2 AND expr3

ブール式の値です。

expr2 <= expr1 AND expr1 <= expr3

あなたのバージョンは

your_date between trunc(sysdate) and (trunc(sysdate) - 14)

これは

trunc(sysdate) <= your_date and your_date <= (trunc(sysdate) - 14)

...これは決して真実ではありません-今日のと2週間前の前your_date同時になければなりません。

于 2012-08-28T13:41:24.370 に答える