web-dev-qa-db-ja.com

Reporting Servicesは式のDateTimeから時間を削除します

式(パラメーターの既定値)に明示的な時間を設定しようとしています。 「今」機能から時間を削除するにはどうすればよいですか?

56
Jeff

here から解決策を見つけました

これにより、前日の最後の秒が取得されます。

DateAdd("s",-1,DateAdd("d",1,Today())

これは、前週の最後の秒を返します:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))
2
Jeff

このようなもの:

=FormatDateTime(Now, DateFormat.ShortDate) 

「現在」は、変換しようとしている日付/時刻フィールドの名前に置き換えることができます。
例えば、

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
91
Michael Maddox

SSRSはVBを利用するため、次のことができます。

=Today() 'returns date only

使用する場合:

=Now() 'returns date and current timestamp
43
RSolberg
=CDate(Now).ToString("dd/MM/yyyy")

日付形式をロケールにハードコーディングしていますが。

27
Perhentian

レポートヘッダーにフィールドを表示する必要がある場合は、これを試してください... [テキストボックス]> [プロパティ]> [カテゴリ]> [日付]を右クリックし、*書式を選択します(これにより地域設定が維持されます)。

この質問は何度も見られているので、私はそれを投稿しています...それが役に立てば幸いです。

enter image description here

16
singhswat

結果をDateTimeデータ型にする場合は、DateValue(Now)を使用します。

8
user1165019

予想されるデータ形式がMM-dd-yyyyの場合、以下を試してください

=CDate(Now).ToString("MM-dd-yyyy")

同様にこれを試すことができます

=Format(Today(),"MM-dd-yyyy") 

出力:02-04-2016

注:
Now()は、現在の日付タイムスタンプを表示します

Today()表示されます日付時間部分のみ。

また、私の例ではMM-dd-yyyyの代わりに任意の日付形式を設定できます。

7
pedram

テキストボックスフィールドのフォーマットプロパティでは、フォーマット文字列を使用できます。

例えばD/M/Y、Dなど.

5
zzawaideh

他の人を助けるかもしれないことの1つは、列を右クリックして取得できるSSRSのFormat Stringプロパティに=CDate(Now).ToString("dd/MM/yyyy")を配置できることです。それが最もクリーンな方法です。そうすれば、式は大きくなりすぎず、視覚的に「解析」するのが難しくなりません。

3
lbranjord
    FormatDateTime(Parameter.StartDate.Value)
2
Alivia

日付/時刻パラメーターの私のソリューション:

=CDate(Today())

トリックは、Perhentianが推奨するようにDateTimeに戻すことです。

2
will webster

文字列を値の最後に連結するだけです:

Fields!<your field>.Value & " " 'test' 

これは動作するはずです!

2
amad

私はゲームの後半に来ていますが、上記のすべての解決策を試しました!パラメータのゼロを削除してデフォルトを指定することができませんでした(書式設定を無視したか、空白で表示されました)。私はSSRS 2005を使用していたので、その不格好な/バグのある問題に苦労していました。

回避策は、日付を取得するデータベースのカスタム[DimDate]テーブルに列を追加することでした。 [date]列の希望する形式の文字列表現である列を追加しました。次に、SSRSで2つの新しいデータセットを作成し、「To」と「From」の日付のデフォルトの2つのデフォルトについて次のクエリを取得しました-

'から'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date < DATEADD(month, -3, GETDATE()
                     )

'に'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date <= GETDATE()
                     )
2
Chris Wood

これはデータセットで行う必要があります。あなたはこれを行うことができます

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

SSRSレイアウトで、これを行う=Fields!DateColumnName.Value

1
Ricky Hope