Oracle中SQL常见报错整理

Oracle中SQL常见报错整理


错误1:too many precision specifiers:精度说明符过多

这种常见的是TRUNC(SYSDATE,‘yyyy-mm-dd’),然后报这个错误

原因分析:

这种是因为TRUNC(SYSDATE)即可默认当前日期(年月日)

解决方案:

改为:

TRUNC(SYSDATE)


错误2:(full) year must be between -4713 and +9999, and not be 0

这种一般都是你查询条件中的日期匹配不上

原因分析:

可能你数据库中的日期是date类型的,但是你输入的是字符串类型的,这时候就需要转换下

解决方案:

就像这样;

SELECT substr( fd.TIMETB, 0, 10 ) TIMETB, SUM(fd.ORDER_NUM) 单量
FROM test1 fd left join test2 fs ON
fd.TOP_BRAND_NAME=fs.TOP_BRAND_NAME WHERE 1=1 AND
substr( fd.TIMETB,0, 10 ) BETWEEN
TO_CHAR(trunc(to_date(’ d a t e ′ , ′ y y y y − m m − d d ′ ) , ′ i w ′ ) , ′ y y y y − m m − d d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值