私のデータベースには、report_year列(char(4))とreport_month列(varchar(2))があります。私は、ストアドプロシージャを使用し、このテーブルからデータを引き出すssrsレポートを作成しています。私のパラメータは日付と年です。私は両方の列をキャストし、それらを連結し、その間に "/"を追加することによってこれを行うことに成功しています。したがって、SSRSレポートでは、ユーザーが入力する必要があるパラメータは月と日付です(例:09/2016)。今年の年の列と月の列の組み合わせ
ユーザーは、日付を取得するためにドロップダウンします。私のパラメータはvarcharなので、上に書かれた月と年を文字通り尋ねるでしょう。この日を一日だけでなく、今月と一年だけキャストすることはとにかくありますか?私はdatediffとdateadd関数を試しましたが、私は運がありません。
年と月は、整数であり、適切なデータ型を使用します。また、日付をハンドリングしている場合は、 'date'データ型を使用してください。正しいデータ型を使用すると、すべてが簡単になります。私も実際にあなたの質問を得ることはありません、'09/2016 'をdatetimeに変換できるかどうか尋ねていますか?いいえ、あなたは日が必要です。デフォルトを1日にしたい場合は、 'DATEFROMPARTS'と' SUBSTRING'を使うことができます。 – HoneyBadger
私はそれらを両方ともint型にキャストしようとし、int型変数も作成しました。私がそれをするとき、結果は得られません。例:= '201609' intとして 宣言@reportdate選択 ....から.... ....キャスト(reportyear intとして)+キャスト(intとしてreportmonth)= atreportdate(I私は文字通りに置くので、1つ以上の "at"記号を使用することはできません) – Lisbon