No PostgreSQL, a
scale()
função retorna a escala de seu argumento. A escala é o número de dígitos decimais na parte fracionária.
Sintaxe
A sintaxe fica assim:
scale(numeric)
Onde
numeric
é o número para o qual você deseja que a escala seja retornada. Exemplo
Aqui está um exemplo de como funciona.
SELECT scale(0.1234);
Resultado:
4
Aqui estão mais alguns.
SELECT
scale(0) AS "0",
scale(0.1) AS "0.1",
scale(0.12) AS "0.12",
scale(0.123456789) AS "0.123456789";
Resultado:
0 | 0.1 | 0.12 | 0.123456789 ---+-----+------+------------- 0 | 1 | 2 | 9
Números negativos
Funciona em números negativos da mesma forma.
SELECT
scale(0) AS "0",
scale(-0.1) AS "-0.1",
scale(-0.12) AS "-0.12",
scale(-0.123456789) AS "-0.123456789";
Resultado:
0 | -0.1 | -0.12 | -0.123456789 ---+------+-------+-------------- 0 | 1 | 2 | 9
Expressões
Você também pode fornecer expressões, como as seguintes.
SELECT
1.23 * 0.3 AS "Result of expression",
scale(1.23 * 0.3);
Resultado:
Result of expression | scale ----------------------+------- 0.369 | 3