赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

用一个实例讲解数据类型不一致引发的后果

发布时间:2008.04.28 05:03     来源:赛迪网    作者:Arnold

【赛迪网-IT技术报道】数据类型不一致引发的后果:

在执行以下SQL语句后,出现ORA-01722: invalid number:

select distinct serial_number,
to_char(first_fire_date,'mm-dd-yyyy') first_fire_date,
cis.installation_engineer,
cis.technology,
customer_name,
CCS.site_nm,
email_id
from CTSV_INSTALL_SCHEDULE    cis,
CTSV_RFR_RED_FLAG_REVIEW crrfr,
ctst_customer_site       ccs,
prty                     p
where CRRFR.UNIT_NUMBER =
DECODE(CIS.SERIAL_NUMBER,
'NON-US',
CIS.ALTERNATE_SERIAL_NUMBER,
CIS.SERIAL_NUMBER)
AND FIRST_FIRE_STATUS <> 'RELEASE'
and first_fire_date between sysdate and sysdate + 14
and ccs.unit_number_id = cis.unit_number
and DECODE(p.lst_nm, NULL, p.frst_nm, p.lst_nm || ', ' || p.frst_nm) =
cis.installation_engineer
order by serial_number;

错误分析:

将sysdate + 14改为13后,却可以正确的执行,在测试过sysdate + 13+7/24,依然正确,输出sysdate + 13+7/24后,报错时刚好到4月29号0时。而且过了几分钟后,sysdate + 13+7/24也开始报错,因为到了下一个小时。

最开始以为是sysdate + 14的问题。经过一步一步的删除where中的条件后,最后发现问题在ccs.unit_number_id = cis.unit_number,左边是number类型的,右边是varchar2类型的,因此某些数据转不过去,而且因为这些数据中又有某些条件刚好满足在4月29号0时,因此发生了错误ORA-01722: invalid number现象。(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 数据类型的表达式转换为另一种数据类型 (09-12) · SQL技巧:探索用户自定义数据类型 (01-30)
· 全面了解DB2数据库中的各数据类型 (10-20) · SQL Server2005的XML数据类型之基础篇 (09-21)
· 基础知识:My SQL数据类型及列类型 (09-18) · MySQL中SQL-TEXT、DATE和SET数据类型 (08-29)
· 面向对象编程:Java复杂数据类型用法 (07-21) · Java基础-Java中的复杂数据类型祥解 (04-22)
· Java基础-Java中的简单数据类型祥解 (04-22) · 分清SQL Server中易混淆的数据类型 (01-04)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 雅虎称目前无计划进军网游 仍然专注电子商务
· 移动电子商务发展迅速 发短信可查企业情况
· IT服务商面临挑战 HR自行开发or选择成熟产品
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统