select round('1.5');结果:2 select round('100.5');结果:100 第二个round居然没有进行四舍五入,这个是什么原因? 还有sum的返回值类型是什么?是字符串吗?
1、手头只有 PgSql 9.4,测了一下结果跟预期一样是 101,不知道你的执行环境是什么。 2、取决于传入列的类型: 传入列如果是 smallint、int,则返回值是 bigint;传入列如果是 bigint,则返回值是 numeric;传入列如果是 real、double precision、numeric、interval、money 等,则返回值与之保持相同类型。 https://www.postgresql.org/do...
1、手头只有 PgSql 9.4,测了一下结果跟预期一样是
101
,不知道你的执行环境是什么。2、取决于传入列的类型:
传入列如果是
smallint
、int
,则返回值是bigint
;传入列如果是
bigint
,则返回值是numeric
;传入列如果是
real
、double precision
、numeric
、interval
、money
等,则返回值与之保持相同类型。