postgresql - 如何在 select 语句中声明新列的类型?
问题描述
如何在 select 语句中声明新列的类型。我已经输出了两个选择语句的除法,但它返回 0 值。这可能是因为它自动将列声明为 bigint。我想在查询中将其更改为数字,以便我可以看到浮点数。我怎样才能做到这一点?
SELECT (SELECT COUNT(*)
FROM public."bbb"
WHERE "aaa" IN ( SELECT "aaa"
FROM public."ccc"
WHERE "Stream" = 'A')
AND "quantity" > 1) /
(SELECT COUNT(*)
FROM public."bbb"
WHERE "aaa" IN ( SELECT "aaa"
FROM public."ccc"
WHERE "Stream" = 'A')) as result
解决方案
您正在经历整数除法。使用类型转换。在符合标准的语法中
CAST (expression AS double precision)
或者用更短的 PostgreSQL 俚语
expression::double precision
推荐阅读
- metpy - 如何计算 Metpy 中的散度?
- matplotlib - 如何在seaborn palplot上打印颜色名称?
- php - MySQL - 查询中带有日期的 PHP 变量不返回任何结果
- python - Python - 作为列表索引的字符串变量
- kentico - Kentico 9 获取表单提交的数据
- postgresql - 删除用户后尝试访问 psql 但仍被要求输入已删除用户的密码
- meteor - 尝试添加新帐户时 Meteor 站点锁定
- swift - SwiftUI:支持多种模式
- javascript - 如何在 jquery 函数中包含循环
- javascript - 根据对象中包含的秒数设置时钟的初始值和setInterval()