繁体   English   中英

ORA-01722 选择查询中的无效数字错误 - Oracle

[英]ORA-01722 invalid number error on a select query - Oracle

 SELECT 
    a.PCL_LOCATCODE, 
    a.AAG_NAME, 
    a.AAG_AGCODE, 
    a.CHL_LEVEL, 
    a.AAG_IDNO, 
    a.AAG_JOINDAT, 
    a.AAG_BRTHDAT, 
    a.aag_imedsupr, 
    a.aag_status, 
    b.AWT_TYPE, 
    b.AWT_EFFECTDATE, 
    c.GCA_REGNO, 
    c.GCA_REGEXPIRED 
FROM LAAG_AGENT a 
JOIN lawt_warnterm b ON a.aag_agcode = b.aag_agcode 
JOIN lgca_mainacnt c ON a.aag_agcode = c.Gca_Account 
WHERE 
    a.AAG_JOINDAT BETWEEN TO_DATE('01/01/2018', 'DD/MM/YYYY') AND TO_DATE('31/12/2019', 'DD/MM/YYYY') 
    AND a.chl_level = '001';

当我提交此查询时,我收到“无效号码”ORA-01722 错误。

任何人都可以请指导我吗? 我认为这个问题是在日期条件下。

此错误是由于表中的数据并且发生了类型转换。 要跟踪这个:

  1. 检查在 where 子句中连接或子集的列中的所有数据类型
  2. 如果需要进行类型转换,请在您的 where 子句中明确表示,这样您就不会得到 Oracle 优化器生成的类型转换。
  3. 通过对较小数量的行进行子集化和/或检查可能单独发生类型转换的每个表/列来检查数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM