2

構文を使用して日付を比較するデータSQLステートメントがありsome_date_to_compare > date('2011-05-05')ます。日付は現在SQLステートメントにハードコーディングされており、次のように日付をパラメーターとして渡すように変更したいと思いますsome_date_to_compare > date({?date_from})。はdate_from日付タイプであり、日付/時間ではありません。

ただし、これに伴う問題は、レポートを実行しようとすると、Crystalが[入力パラメーター]ボックスの日付を次の形式YYYY-MM-DD hh:mm:ssで渡すことです。たとえば2011-05-05、カレンダーから日付として選択すると、パラメーターに2011-05-05 00:00:00渡されdate_fromます。

回避策がある、または私が期待する形式で日付を渡す方法はありますか(YYYY-MM-DD)?

編集(いくつかの追加情報):

私はInformixを使用しており、列はDATE型(DATETIME-日付+時刻ではない)であるため、日付のみです。これで、SQLの一部は次のように なります。date_to_compare between date({?date_from}) AND date({?date_to})したがって、テーブルの列の値を日付範囲と比較しようとしています。

YYYY-MM-DD hh:mm:ssただし、問題は、クエリ検証の結果としてCrystalが入力パラメータボックスから日付を渡す場合、文字列から日付への変換エラー:-1218であり、渡された日付の時間部分が原因です。

ところで、SQLコマンド変更ウィンドウでCrystalによるクエリ検証をオフにする可能性はありますか?

4

3 に答える 3

1

このToText()関数を使用してこれを行うことができます。

ToText({datefield}, "yyyy-MM-dd")
于 2011-05-23T14:54:35.130 に答える
1

接続タイプに関連するケースのようです。以前は、単純なJDBC接続を使用していました。これで、ODBC接続(Informixドライバー)を使用しているときに、日付形式の問題がなくなりました。

于 2011-05-24T10:31:54.750 に答える
1

空白のレポートを作成し、元のレポートをサブレポートとして挿入します。次に、メインレポートで、「日付」タイプの静的パラメーターを作成します。'Date_conv'という新しい式を作成し、次のように入力します。

Datetime({?Date_parameter})

次に、サブレポートをメインレポートに配置します。サブレポートを右クリックして、[サブレポートリンクの変更]を選択します。数式を選択し、[リンク先]領域に移動します。次に、左下のドロップダウンから、サブレポートの日時パラメータを選択します。レポートでは、日時ではなく「日付」の入力を求められます。サイトを参照して ください-http://scn.sap.com/thread/2085118

于 2012-06-18T10:12:04.250 に答える