にSMALLDATETIMEへの変換以下の動的SQLはエラーをスロー:SQL Serverの - 動的SQLステートメント
The conversion failed when converting character string to smalldatetime data type
マイコード:
DECLARE @pTimeStamp smalldatetime
SET @pTimeStamp = '2017-05-22 12:15:00'
DECLARE @SQLQuery AS NVARCHAR(4000)
Set @SQLQuery = N'Select *' +
' From SampleTable' +
' Where TimeStamp = ' + @pTimeStamp
EXECUTE sp_executesql @SQLQuery
私も
Convert(smalldatetime, @pTimeStamp, 20)
を試してみました同様に
CAST(@pTimeStamp AS smalldatetime)
しかし、私は他のエラーが発生します。私は@pTimeStamp
をvarchar(50)
と宣言してみましたが、変換してもまだエラーがありました。
DECLARE @pTimeStamp smalldatetime
SET @pTimeStamp = '2012-01-22 12:15:00'
Select *
From SampleTable
Where TimeStamp = @pTimeStamp
ので、私はそれは、動的SQLに関係している推測している細かい走っ:のような単純な何かをして
。
助けてください
私はTHIのような問題が発生したときはいつでも■自分のコードにデバッグ用のPRINTを追加して、ダイナミックSQLの外観を確認します。 –
なぜあなたはそのような質問を書いていますか?なぜパラメータ化クエリを使用しないのですか? –
なぜここで動的SQLを使用していますか?あなたが投稿したものから、ダイナミックなSQLはまったく必要ありません。それを行う場合は、パラメータ化する必要があります。 –