7

I am using postgresql sequelize in my node-express server.

When I run the following SQL Command, I am getting a string value for result.

I want to get Integer value for this count.

SELECT count(id) from collaborators where id<3

Result:

count =  [ { count: '1' } ]

Is there any way to get number values for result? Or do I always need to use parseInt(count, 10) to get int value?

I appreciate any help!

wagng
  • 691
  • 2
  • 11
  • 22

2 Answers2

9

@DemtriOS is correct that count returns bigint hence interpreted into string, you can directly typecast it directly on your query like so:

SELECT COUNT(id)::int
FROM collaborators
WHERE id < 3
Miko Chu
  • 1,087
  • 14
  • 22
3

According to this https://www.postgresql.org/docs/8.2/static/functions-aggregate.html, the count() function returns bigint type. Because of this it will get interpreted as a string. It looks like explicit conversion to an int is what you will have to do. So, parseInt(count, 10) it is.

DemetriOS
  • 181
  • 13