【问题标题】:Postgres sequelize raw query to get count returns string valuePostgres sequelize 原始查询以获取计数返回字符串值
【发布时间】:2018-05-30 07:33:15
【问题描述】:

我在我的 node-express 服务器中使用 postgresql sequelize。

当我运行以下 SQL 命令时,我得到一个字符串值作为结果。

我想获取此计数的 整数 值。

SELECT count(id) from collaborators where id<3

结果:

count =  [ { count: '1' } ]

有什么方法可以获取结果的数值吗?还是我总是需要使用 parseInt(count, 10) 来获取 int 值?

感谢您的帮助!

【问题讨论】:

    标签: javascript node.js postgresql sequelize.js


    【解决方案1】:

    @DemtriOS 是正确的,count 返回 bigint 因此解释为 string,您可以直接在您的查询中直接进行类型转换,如下所示:

    SELECT COUNT(id)::int
    FROM collaborators
    WHERE id < 3
    

    【讨论】:

      【解决方案2】:

      根据这个https://www.postgresql.org/docs/8.2/static/functions-aggregate.html,count() 函数返回bigint 类型。因此,它将被解释为字符串。看起来像显式转换为 int 是您必须做的。所以,parseInt(count, 10) 是。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-07
        相关资源
        最近更新 更多