発生した私は、Sybase 15.5でのステートメントの下に実行しようとしていますが、私はエラー「算術オーバーフローが発生しました」取得しています:算術オーバーフローが
declare @TradeId BIGINT
select @TradeId=(20170103-19950000)*10000
select @TradeId
を私が間違っているのは何も教えてください。
発生した私は、Sybase 15.5でのステートメントの下に実行しようとしていますが、私はエラー「算術オーバーフローが発生しました」取得しています:算術オーバーフローが
declare @TradeId BIGINT
select @TradeId=(20170103-19950000)*10000
select @TradeId
を私が間違っているのは何も教えてください。
式の定数のデータ型は、その値によって決まります。すべての述語は単純なINTと思われるので、DBEはINTを使用してそれらを格納します。
明示的にBIGINTにその1つまたはすべてをキャストします。
19950000はINTとみなされ、エラーメッセージが表示されます。明示的にBIGINTにキャストする:
declare @TradeId BIGINT
select @TradeId=(20170103-CAST(19950000 AS BIGINT))*10000
select @TradeId