Oracle相关的问题(一)

2005/07/22

事件:接到一个关于计费系统的用户反馈的错误,我首先对存储过程进行了检查,仔细读了PL/SQL代码发现并没有错误的地方,这让我很奇怪,而此时我不敢直接在用户的系统上用TOAD调试,就将这个问题向项目经理求助,他在将代码放到用户系统上调试后发现是由于我的一个比较语句抛出异常而不能完成计算。

问题:这个比较语句是“日期”变量与“字符串”变量的比较,字符串中存储的是YYYYMMDD式的日期串。代码中过多的使用了TO_CHAR转换日期变量程字符串变量完成日期比较的方法。我在当初修改代码的时候造成了混淆,并且在此次检查代码的时候也保持这种混淆,而没有看出问题。

经验:在变量比较时应该以实际比较意义来转换类型。如日期比较时比较的双方都应该是日期变量(允许转换),尽管比较结果可能正确,仍避免使用日期格式的字符串进行比较的方法。

,脸都丢尽了

补充:7月27日与项目经理沟通了一下,得知在oracle按时间进行分区的表中用日期字符串的比较方式性能更高一些。

================================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值