1

いくつかのデータに基づいて構築されているクエリがあり@StartDate、文字列にパラメーターを追加できるようにする必要がありますが、次のエラーが発生します

文字列から日時を変換する際に変換に失敗しました。

クエリの一部は次のようになります。

DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
DECLARE @where = ''
...

SET @where = @where + '(initDate BETWEEN ' + @StartDate + ' AND ' + @EndDate + ')'

この問題を引き起こさずにStartDateandを追加するにはどうすればよいですか? EndDate試しCONVERT(DATETIME, @StartDate)ましたが、同じ問題が発生します

4

2 に答える 2

2

これを試して

SET @where = @where + '(initDate BETWEEN ' + convert(varchar(10),@StartDate,104) + ' AND ' + convert(varchar(10),@EndDate,104) + ')'

また

SET @where = @where + '(initDate BETWEEN ' + convert(varchar(10),@StartDate,106) + ' AND ' + convert(varchar(10),@EndDate,106) + ')'
于 2013-04-21T16:41:42.270 に答える
0

@StartDate と @EndDate を文字列に変更するには、 CAST または CONVERTを使用するだけです。必要な精度のレベルを提供するリンクに従って、適切な方法を選択してください。

于 2013-04-21T16:44:43.507 に答える