0

次のSQLを実行しようとしています:

select months_between(sc.dat_initial_period, hp.dat_signup) + 1 as months from harvest_partner hp inner join sales_commission sc on hp.idt_harvest_partner = sc.idt_harvest_partner;

HSQLDB バージョンに対して:2.2.9次のエラーが表示されます:

Error code -5501, SQL state 42501: user lacks privilege or object not found: MONTHS_BETWEEN

次の URL でデータベースを作成しています。jdbc:hsqldb:/hsql/testdb

SQL は、Netbeans SQL クライアント、HSQLDB データベース マネージャー、さらには純粋な JDBC Java コードによって実行され、すべてのエラーが発生します。

HSQLDB のドキュメントには、そのような関数があると書かれています ( MONTHS_BETWEEN): http://hsqldb.org/doc/2.0/guide/builtinfunctions-chapt.html#bfc_datetime_arithmetic

そして、次のリンクでは、2012 年 11 月にリリースされたいくつかのスナップショットが実装されていることが示されてい ます。

私のコードに何か問題がありますか、またはそのような関数を呼び出すための構成がありませんか?

ありがとう。

4

1 に答える 1

0

この関数は HSQLDB 2.3.0 でサポートされています。ここで最新のスナップショットを取得できます。

http://www.hsqldb.org/repos/org/hsqldb/hsqldb/SNAPSHOT/

于 2013-04-24T15:21:56.187 に答える