PostgreSQL 少数以下の桁数を取得する

PostgreSQL 少数以下の桁数を取得する

PostgreSQLで、少数以下の桁数を取得する手順を記述してます。「scale」に数値を指定することで可能です。整数を指定した場合はすべて「0」が返ります。実行結果はpgadmin上で確認してます。

環境

  • OS CentOS Stream release 9
  • PostgreSQL 15.1
  • pgadmin4 6.16

手順

少数以下の桁数を取得するには、「scale」を使用します。

scale(数値);

実際に、取得してみます。

SELECT 
	scale(1.23) AS "scale(1.23)",
	scale(1.234) AS "scale(1.234)",
	scale(1.2300) AS "scale(1.2300)";

実行結果を見ると、取得されていることが確認できます。

整数を指定した場合は、全て「0」が返ります。

SELECT 
	scale(1) AS "scale(1)",
	scale(1000) AS "scale(1000)",
	scale(-123) AS "scale(-123)";

実行結果

nullを指定

「null」を指定すると「null」が返ります。

SELECT 
	scale(null) AS "scale(null)";

実行結果

min_scale

min_scaleの場合は、桁数ではなく、最後まで連続0を除いたした有効な桁数が取得されます。

SELECT 
	min_scale(1.23) AS "min_scale(1.23)",
	min_scale(1.234) AS "min_scale(1.234)",
	min_scale(1.2300) AS "min_scale(1.2300)";

実行結果