diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2016-01-05 19:02:13 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2016-01-05 19:02:13 -0300 |
commit | abb1733922f3ff17a514499883a549f8bd03af44 (patch) | |
tree | e84ec7b8ca4bf1620476b9416d1f3affdf6bf494 /src/backend/utils/adt/numeric.c | |
parent | 419400c5da738d86c87e903a3d1924ff365bf203 (diff) | |
download | postgresql-abb1733922f3ff17a514499883a549f8bd03af44.tar.gz postgresql-abb1733922f3ff17a514499883a549f8bd03af44.zip |
Add scale(numeric)
Author: Marko Tiikkaja
Diffstat (limited to 'src/backend/utils/adt/numeric.c')
-rw-r--r-- | src/backend/utils/adt/numeric.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c index ea79b48a8f6..07b264572d9 100644 --- a/src/backend/utils/adt/numeric.c +++ b/src/backend/utils/adt/numeric.c @@ -2825,6 +2825,23 @@ numeric_power(PG_FUNCTION_ARGS) PG_RETURN_NUMERIC(res); } +/* + * numeric_scale() - + * + * Returns the scale, i.e. the count of decimal digits in the fractional part + */ +Datum +numeric_scale(PG_FUNCTION_ARGS) +{ + Numeric num = PG_GETARG_NUMERIC(0); + + if (NUMERIC_IS_NAN(num)) + PG_RETURN_NULL(); + + PG_RETURN_INT32(NUMERIC_DSCALE(num)); +} + + /* ---------------------------------------------------------------------- * |