2

私はウェブを検索して周りに尋ねてきましたが、私の問題に対する答えが見つからないようです...

OpenOffice Base の FrontBase データベースとの ODBC 接続を実行しています。必要なものはすべて選択できますが、特定の日付の間、または 1 つの日付の間のレコードのみを表示したい場合、セマンティック エラーが発生し続けます。

これが私のクエリです:

SELECT * FROM "SALES" WHERE "DATE" = '2014-04-01'

念の#ため、日付に使用することをお勧めしますが、それも機能しません

DATE '2014-04-01'も失敗します:(

誰にもアイデアはありますか?

4

4 に答える 4

3

多くの試行錯誤の後、私は OpenOfficeBase インターフェイスを詳しく調べました。私の発言には何も問題がないと確信していたので、Base に何か欠けているものがあるに違いありません。

ツールバーには、SQL の付いたボタンと、「SQL コマンドをすぐに実行する」というチェックマークがあります。有効にして試してみても害はないと思いました。そして、日付フィルターを使用したクエリが表示されました。そのボタンがある理由や正確な機能が何であるかはわかりませんが、それを有効にするとクエリが機能しました。

ここに画像の説明を入力

とにかく提案に感謝しますが、どうやら言語だけでなく、さらに検討する必要があるようです;-)

于 2014-07-29T13:45:44.400 に答える
1

ここで暗闇でのショット。FrontBase データベースを使用している場合、「Frontbase select date range」でグーグルすると、次のページが表示されます: http://www.frontbase.com/documentation/LookSeeIntro-2.3.html

そこには、次のサンプル クエリがあります。

SELECT
   receiver FROM memo_mails 
WHERE 
   sender = 'QA' AND 
   CAST(dateSent AS DATE) < DATE '2001-06-01' AND
   SATISFIES(quickx, 'Periscope & invoice');

その例に基づいて、私は試してみます

SELECT
    * FROM "Sales"
WHERE
    (CAST("Sales"."SalesDate" AS DATE) >= DATE '2014-06-01') AND
    (CAST("Sales"."SalesDate" AS DATE) <= DATE '2014-06-30');
于 2014-07-28T15:06:30.520 に答える
-1

まだ答えを探しているなら

SELECT * FROM "SALES" WHERE "DATE" = {D '2014-04-01'}

文字 D を付けて、文字列/varchar ではなく日付であることを示す必要があるようです。質問は1歳ですが、これが役立つことを願っています。

于 2016-02-29T16:52:39.233 に答える