[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
2022-02-07 05:18:26
質問
Teradataのクエリで、ある計算で問題が発生しました。 2つの数値を掛け合わせるのですが、クエリを実行すると、"Numeric overflow occurred during computation." というエラーが表示されます。 両方のフィールドで型を実行したところ、DECIMAL(18,15) と DECIMAL(18,9) になりました。 除算の際、両方を DECIMAL(18,18) にキャストしてみましたが、まだエラーが発生します。 以下はその計算です。UNITSは18,15で、PRICEは18,9です。どなたか、これを解決するためのヒントを教えていただけませんか?
cast(UNITS as DECIMAL(18,18))* cast(PRICE as DECIMAL(18,18)) as NEW_CALC
ありがとうございます。
クレイグ
解決方法は?
間違ったデータ型を使っている。
DECIMAL(18,15)
は18桁で、そのうち15桁は分数なので、最大値は
999.999999999999999
.
また、2つの小数を掛けると、端数の桁数が加算されます。
NEW_CALC
の結果、38桁の端数が発生します。を行います。
TYPE(cast(UNITS as DECIMAL(18,18))* cast(PRICE as DECIMAL(18,18)))
.
これならうまくいくでしょう。
cast(UNITS as DECIMAL(38,15))* PRICE
しかし、カラムのデータ型を (18,2) や (18,4) のようなものに変更した方がいいでしょう。価格に4桁以上を使う人はいないと思います。
関連
-
[解決済み】 "指定された集約関数を含まないクエリを実行しようとしました。"
-
[解決済み】SQL Server: 無効なカラム名
-
[解決済み] テスト
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] ORA-12801: 並列クエリサーバー P004 および ORA-01555 でシグナルされたエラー: スナップショットが古すぎる。
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] MySQLのON句の不明なカラム
-
[解決済み] 情報を損なわずに因数を整数値に変換するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 "指定された集約関数を含まないクエリを実行しようとしました。"
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み] 3を挿入すると「ORA-01438: この列で許容される指定精度より大きい値」と表示される。
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み】sys.dm_exec_sql_textはどのように機能するのでしょうか?
-
[解決済み] エラー (ORA-00923: 期待された場所に FROM キーワードが見つかりませんでした)
-
[解決済み] ORA-01735: 無効な ALTER TABLE オプション - ヒキガエル
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。
-
[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。