0

データ型が「nvarchar(50)」の日付列があり、元のテーブルでは「01/08/2012」、「02/08/2012」などと表示されます

しかし、クエリまたはストアド プロシージャで「20120801」、「20120802」として表示され、ストアド プロシージャのパラメータも「20120801」、「20120802」として配置できる必要があります。

以下のコードを試してみましたが、うまくいかないようです。

Create procedure testprocedure 
@startdate nvarchar(8), @enddate nvarchar(8)
As
Begin
select convert(varchar(8),date,112) AS DATE, field1, field2 from tbltable
where date between @startdate and @enddate
End
Go

execute testprocedure @startdate = '20120801', @enddate = '20120805'
4

1 に答える 1

1

問題は次のとおりです。日付はnvarcharです。日付に変換してから、他の形式に変換する必要があります。

select convert(varchar(8),CAST(tdate as Date),112) AS DATE, field1, field2 from tbltable

tdate は tbltable.tdate です。

できます。

于 2012-08-18T07:31:33.583 に答える