【发布时间】:2018-12-22 09:36:18
【问题描述】:
知道可以使用 SQL 数据定义语言 (DDL) 服务器 Postgres (SP):
- 创建
- 改变
- 丢弃
对于 SQL 数据操作语言 (DML) SP:
- 选择
- 插入
- 更新
- 删除
当我们创建SELECT 时,我们投射的属性来自 DDL 中建立的数据类型。并且当使用2个相同类型的属性执行操作以生成在SELECT中计算的属性时,类型将与操作数的类型相同,但我需要更改它。
我的问题是我想计算平均值:A / B * 100 在两种类型的数据bigint 之间但是当我做 A/BI 时在计算字段中获得 0,因为我还需要十进制值将它们乘以 100
以下sql指令不适用于bigint:
SELECT id, a/b
FROM <mytable>;
计算字段中的这向我返回 0 值,这是我想要避免的。
而我想要的是:
SELECT id, first_operand * 100
FROM (SELECT id, a/b TYPE <newtype> AS first_operand
FROM <mytable>) firstTable
NATURAL JOIN <mytable>;
所以我想知道的是如何更改SELECT 投影中的数据类型,或者我有什么办法?
【问题讨论】:
标签: sql postgresql casting ddl dml