2017-01-08 16 views
1

発生した私は、Sybase 15.5でのステートメントの下に実行しようとしていますが、私はエラー「算術オーバーフローが発生しました」取得しています:算術オーバーフローが

declare @TradeId BIGINT 
select @TradeId=(20170103-19950000)*10000 
select @TradeId 

を私が間違っているのは何も教えてください。

答えて

0

式の定数のデータ型は、その値によって決まります。すべての述語は単純なINTと思われるので、DBEはINTを使用してそれらを格納します。

明示的にBIGINTにその1つまたはすべてをキャストします。

0

19950000はINTとみなされ、エラーメッセージが表示されます。明示的にBIGINTにキャストする:

declare @TradeId BIGINT 
select @TradeId=(20170103-CAST(19950000 AS BIGINT))*10000 
select @TradeId 
関連する問題