postgresql 中round函数的用法有问题

1、不能直接round(sum(t1.xjmj)*10000 ,2), 需要加上cast转一下:

round(cast(sum(t1.xjmj)*10000 as numeric),2)   ;

2、如果想把日期格式转换为char型,也不能直接to_char(sysdate,'yyyy-mm-dd'),sysdate是识别不了的,需要改成:

to_char(CURRENT_DATE,'yyyy-mm-dd')

3、查询的列如果是关键字的话带上双引号,比如name,year,或者 加上as ,不然会报错:

 ERROR:  syntax error at or near "data"; ERROR:  syntax error at or near "name";

4、两个表关联的字段字段类型要一致,不然会报错:

HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

执行成功的脚本如下:

select  '' X, '相' "name", round(cast(sum(t.xjmj)*10 as numeric),2)  "DATA",to_char(CURRENT_DATE,'yyyy-mm-dd') "year"  from ga t left join dl a on t.to_oid= cast(a.id as VARCHAR) group by t.jid
 

select  '' X, '相' as name, round(cast(sum(t.xjmj)*10 as numeric),2) as   DATA  from ga t left join dl a on t.to_oid= cast(a.id as VARCHAR) group by t.jid
 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值