EN
Node.js - PostgreSQL ROUND()
0 points
In this article, we would like to show you how to round a numeric value using ROUND()
function in the Postgres database from Node.js level.

Note: at the end of this article you can find database preparation SQL queries.
xxxxxxxxxx
1
const { Client } = require('pg');
2
3
const client = new Client({
4
host: '127.0.0.1',
5
user: 'my_username',
6
database: 'my_database',
7
password: 'my_password',
8
port: 5432,
9
});
10
11
const fetchRoundSalary = async (decimalPlaces) => {
12
const query = `
13
SELECT ROUND(AVG("salary"), $1)
14
FROM "users";
15
`;
16
await client.connect(); // creates connection
17
try {
18
const { rows } = await client.query(query, [decimalPlaces]); // sends query
19
return rows;
20
} finally {
21
await client.end(); // closes connection
22
}
23
};
24
25
fetchRoundSalary(3)
26
.then(result => console.log(result))
27
.catch(error => console.error(error.stack));
Result:
xxxxxxxxxx
1
[ { round: '3631.250' } ]
create_tables.sql
file:
xxxxxxxxxx
1
CREATE TABLE "users" (
2
"id" SERIAL,
3
"name" VARCHAR(50) NOT NULL,
4
"surname" VARCHAR(50) NOT NULL,
5
"department_id" INTEGER,
6
"salary" DECIMAL(15,2) NOT NULL,
7
PRIMARY KEY ("id")
8
);
insert_data.sql
file:
xxxxxxxxxx
1
INSERT INTO "users"
2
( "name", "surname", "department_id", "salary")
3
VALUES
4
('John', 'Stewart', 1, '3512.00'),
5
('Chris', 'Brown', 2, '1344.00'),
6
('Kate', 'Lewis', 3, '6574.00'),
7
('Ailisa', 'Gomez', NULL, '6500.00'),
8
('Gwendolyn', 'James', 2, '4200.00'),
9
('Simon', 'Cousersllins', 4, '3320.00'),
10
('Taylor', 'Martin', 2, '1500.00'),
11
('Andrew', 'Thompson', NULL, '2100.00');
Native SQL query (used in the above example):
xxxxxxxxxx
1
SELECT ROUND(AVG("salary"), 3)
2
FROM "users";