1

以下に説明するクエリが1つあります....、

1.My DB2 table column is in INTEGER format (it has the date value in Julian date format - YYYYDDD)

2. After unload this date into a flat file, the result is in hexa decimal format.(4 bytes occupaid)

3. I have a requirement to compare this date with (Current Julian date+7days) and write the corresponding recods into a File. 

4. So, when I am comparing the Hexa decimal Input date with Current Julian date+7days (DATE3P+7), I am getting MAxcc=0 but I am not getting required output. 

5. What I identified the problem is that the input date should also be in packed decimal format. 

誰かがアンロード中にパック10進数でテーブル値を変換する方法を教えてもらえますか、それを取得する別の方法を提案してください。

例:1。ユリウス日(YYYYDDD)をアンロードします[アンロード後、これは16進形式になります]。2.現在のユリウス日+7日と比較します。SORT FIELDS = COPY OUTFIL FILES = 1、INCLUDE =(1,4、PD、LT、DATE3P + 7)OUTFIL FILES = 2、SAVE

よろしくお願いします、RajasekharJannu。

4

1 に答える 1

1

これらの別の方法を信じて、働いてください...

  • 日付を16進数で取得する代わりに、YYYYDDD形式の日付としてアンロードすると、DATE3でユリウス日がYYYYDDDで表示されます。現在、これらは両方とも、比較および調整するための互換性のある形式になっています。

    DB2には、ユリウス日と日付を数値で提供するための多くのスカラー関数があります。私はスカラー関数でうまくいくと信じDIGITSています...JULIAN

    このDB2スカラー関数を参照してください

  • 上記の方法でテーブルをアンロードできなかった場合は、別の方法でアンロードファイルを操作するため、DFSORTを使用して16進形式の日付をYYYYDDD数値形式に変換する必要があります。次に、DATE3はuが1週間前のデータを取得するのに役立ちます。DFSORT参照はすでに共有されています。
于 2011-10-25T02:18:00.800 に答える