データ型がint
の一部のデータを変換しようとしています。私は年に200
を変換しようとしたときにしかし、それはエラーがスローされます。SQL Server時刻を整数に変換する
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
コード:
declare @MonthStart datetime,
@Day int = 1,
@Month int = 5,
@Year int = 200 /*gives me an error if I input this but when I tried 2016 the code works fine*/
set @MonthStart = Cast(@Month as varchar(10)) +'-'+ Cast(@Day as varchar(10))+'-'+Cast(@Year as varchar(10))
select @MonthStart
私はこの上の問題だか分かりません。 datetime
は、この種のフォーマット200-05-01
を日付形式として受け入れないことがあります。
私はあなたに大きな助けとなります... –
SQL Server ** 2008 **以降では、この問題を回避するには、DATETIME2(3 ) 'の代わりに' DATETIME'を使います。この新しいデータ型には、以前のものと同様に、「人工的な」範囲の制限はありません。 –