別々の日付と時刻 (時間と分のみ) のパラメーターを含むレポートがあります。Date パラメーターは Date/Time 型で、Time パラメーターは Text として設定されています。ストアド プロシージャに渡す引数の数を最小限にしたいので、これら 2 つの値を 1 つにマージします。私は多くの方法でその目標を達成しようとしましたが、SSRS は試行ごとにエラーを返します。
このような表現を使用しようとすると:
=Format(FormatDateTime(Parameters!startDate.Value, DateFormat.ShortDate).ToString() + Parameters!startTime.Value, "dd/MM/yyyy HH:mm")
SSRS は次のエラーを返します。
データ型 nvarchar を datetime に変換するときにエラーが発生しました。
そして、私がDatetime.Parse
このように使用しようとしたとき:
=DateTime.Parse(Format(FormatDateTime(Parameters!startDate.Value, DateFormat.ShortDate).ToString() + Parameters!startTime.Value, "dd/MM/yyyy HH:mm"))
SSRS は次のように述べています。
クエリ パラメーター '@startDate' の値式にエラーが含まれています: 文字列は有効な DateTime として認識されませんでした。インデックス 0 から始まる未知の単語があります。
関数を削除するFormatDateTime
と、さらに別のエラーが発生します。
クエリ パラメーター '@startDate' の値式にエラーが含まれています: 入力文字列の形式が正しくありません。
この式を正しく書く方法はありますか?
PS。SSRS 2008 R2 を使用しています。