CREATE TABLE IF NOT EXISTS ttable (
tcol decimal(9,7)
);
insert into ttable(tcol) values(17.4604786);
値は17.46
として保存されます
10進数/数値型を使用しても同じです
使っています
x86_64-Apple-darwin16.7.0上のPostgreSQL 11.2、Apple LLVMバージョン8.1.0(clang-802.0.42)、64ビットでコンパイル
ツール
SQL Workbench/Jビルド124(2018-08-20 22:43)
Javaバージョン:1.8.0_211(64ビット)。
接続情報:
製品名:PostgreSQL
製品バージョン:11.2
製品情報:11.2
ドライバー名:PostgreSQL JDBCドライバー
ドライバークラス:org.postgresql.Driver
ドライバーバージョン:42.2.6
分離レベル:コミットされた読み取り
ワークベンチDBID:postgresql
これはSQL Workbenchのデフォルトの動作のようです。この記事をご覧ください。
SQL Workbenchで10進データ型の解像度またはスケールを変更するにはどうすればよいですか。
記事から引用:
通常、SQL Workbenchは10進データをフルスケールで表示しません。デフォルトのスケールは2です。設定によってスケールを変更できます。
ソリューション
データの書式設定を開きます。 SQLWorkBench->設定->データのフォーマット
10進数の変更デフォルトは2です。この場合、11以上にする必要があります。
SQL Workbenchのマニュアルによると データのフォーマット :
10進数
数値列に表示される最大桁数を定義します。これは数値の表示にのみ影響し、保存や検索には影響しません。内部的には、DBMSから返されたときにも保存されます。内部値を表示するには、マウスカーソルをセルの上に置きます。表示されるツールチップには、JDBCドライバーによって返された番号が含まれます。データをエクスポートまたはクリップボードにコピーする場合、実際の値が使用されます。
この値が0(ゼロ)に設定されている場合、値は可能な限り多くの桁で表示されます。
(太字は私のものです)