0

IIFステートメント内で時間を変換しようとしています。

次の値を持つフィールドがあります 2013-10-15 01:00:00.0000000。それを「01:00」に変換してから、変換に基づいて 2 つの結果のうちの 1 つを生成しようとしています。

case whenうまくいかないように見えるステートメントを使用して両方を試しました。

私も試してみましたが、like "*01:00*"これもうまくいきません。現在、これは私がやろうとしていることですが、これを正しい方法で行っていないようです:

=iif(Fields!TEST1.VALUE LIKE ("*01:00:00.0000000*"), "TRUE", "NOT TRUE")
4

1 に答える 1

0

あなたがやろうとしていることを厳密に見てInStr、より大きな文字列の部分文字列をチェックするために使用する必要がある SSRS 式を使用します。

=IIf(InStr(Fields!TEST1.Value, "01:00:") > 0, True, False)

これは、例の行と別のテストケースでうまく機能します:

ここに画像の説明を入力

ただし、データについてはほとんどわかっていません。基になるデータは実際には文字列ですか、それとも日時ですか?

データが日時の場合は、別のアプローチを使用できます。

=IIf(Hour(Fields!TEST1.Value) = 1 and Minute(Fields!TEST1.Value) = 0
    , True
    , False)

あるいは:

=IIf(Fields!TEST1.Value.ToString("HH:mm") = "01:00"
    , True
    , False)

可能であれば、達成しようとしていると思われるものの意図に最も近いため、可能であれば日時関数を検討します。

于 2013-10-13T13:12:18.920 に答える