1

私は、次の推論に従う日付ロジックを含めようとしています:

SELECT * 
FROM OPENQUERY(ACLS_PROD, 'SELECT A182.BK_NUM as Bank,
A182.LN_NUM as Loan_Number,
A182.ACT_STA as Ln_Sta,
A182.NXT_PMT_DUE_DAT as Due_Date,
A182.CUR_LN_BAL as Balance,
A182.INS_REF_NUM as Debt_Can_Ref

FROM PZFRL.ALT0182 A182

WHERE A182.ACT_STA IN(''0'', ''1'', ''2'')
AND (A182.INS_REF_NUM IN(''SDC'', ''SDD'', ''SDU'', ''SLF'', ''SUF'', ''DSF'', 
''JDC'', ''JDD'', ''JDU'', ''JLF'', ''JDF'')
AND A182.NXT_PMT_DUE_DAT <= GETDATE())

ORDER BY A182.BK_NUM,
A182.LN_NUM

') 

SAS では、TODAY() を使用してそれを実現できます。SQL には、実装できる同等の日付関数がありますか? CURDATE() と GETDATE() を使用すると、メッセージ ログに次のエラーが表示されます。

リンク サーバー "ACLS_PROD" の OLE DB プロバイダー "MSDASQL" がメッセージ "[IBM][CLI Driver][DB2] SQL0206N "CURDATE" is not valid in the context where it is used.SQLSTATE=42703" を返しました。メッセージ 7350、レベル 16、状態 2、行 19 リンク サーバー "ACLS_PROD" の OLE DB プロバイダー "MSDASQL" から列情報を取得できません。

どうすればこれを解決できますか?

4

2 に答える 2

2

DB2では、 CURRENT DATE(2 ワード)と呼ばれる「特殊レジスター」が現在の日付を示します。

括弧なし。ジャストCURRENT DATEインプレイスGETDATE()

于 2012-05-30T03:04:16.563 に答える
0

免責事項: 私は DB2 開発者ではありません。これまで、一度もクエリを実行したことがありません。

そうは言っても、コピーしたエラーメッセージから、DB2データベースに対して実行しようとしているようです。current timeそのため、GETDATE() の代わりに使用できますか? グーグルDB2の現在の日付の約15秒で私が見つけたものは次のとおりです。

お役に立てば幸いです。幸運を祈ります。

于 2012-05-30T03:05:50.883 に答える