0

ストアドプロシージャの実行結果からDateTime2をDateTimeに変換するにはどうすればよいですか?いくつかのdatetime2データ型があるさまざまな列の出力を持つ動的に形成されたSQLステートメントを実行するプロシージャがあります。このプロシージャをデータソースとしてCrystalReportに割り当てる必要があるため、そのdatetime2をdatetimeに変更するにはどうすればよいですか?CrystalReportはdatetime2を文字列に変換し、stringはレポートで必要なロジックを実行できません。したがって、プロシージャにdatetime2ではなくdatetimeを指定する必要があります。

一時テーブルは私を助けるかもしれないと思いますが、どのように進めるかはわかりません..助けてください..

4

1 に答える 1

1

DateTime2フィールド文字列がMSSQL/ ISO 8601の場合と同じように見えると仮定すると(datetime2(Transact-SQL)を参照): "2007-05-02T19:58:47.1234567"、文字列の必要な部分を引き出して使用できますCDateまたはCDateTime、それらを日付または日時に変換します。

If IsDate(left({Results.DT2Field}, 10))
    Then
    CDate(left({Results.DT2Field}, 10));

またはDateTimeの場合

If IsDateTime(left({Results.DT2Field}, 10) + " " + mid({Results.DT2Field},12,8))
    Then
    CDateTime(left({Results.DT2Field}, 10) + " " + mid({Results.DT2Field},12,8));

上記の結果は、変換された値です。

于 2013-03-21T21:35:09.033 に答える