oracle 如何修复无效数字

k4emjkb1  于 2022-11-22  发布在  Oracle
关注(0)|答案(1)|浏览(253)

我收到错误ORA-01722:当我运行这段代码时,发现一个无效的数字,而且我似乎不知道错误来自哪里:
ORA-01722:无效编号

INSERT INTO P2720515_TP
  SELECT PRO_ID,
         THEATRE_ID,
         CLIENT_ID,
         TIME_ID,
         PURCHASE#,
         PAYMENTMETHOD,
         DELIVERYMETHOD,
         T_SUM
    FROM (SELECT P.PRO_ID,
                 T.THEATRE_ID,
                 C.CLIENT_ID,
                 TM.TIME_ID,
                 PURCHASE#,
                 PAYMENTMETHOD,
                 DELIVERYMETHOD,
                 SUM(TOTALAMOUNT) T_SUM
            FROM OPS$YYANG00.PERFORMANCE    PER,
                 P2720515_TM                TM,
                 P2720515_P                 P,
                 P2720515_T                 T,
                 P2720515_C                 C,
                 OPS$YYANG00.TICKETPURCHASE TP
           WHERE PER.P# = P.PRO_NO
             AND PER.THEATRE# = T.THEATRE_NO
             AND TP.CLIENT# = C.C_NO
             AND EXTRACT(YEAR FROM PER.PDATE) = TM.YEAR
             AND EXTRACT(MONTH FROM PER.PDATE) = TM.MONTH
           GROUP BY P.PRO_ID,
                    T.THEATRE_ID,
                    C.CLIENT_ID,
                    TM.TIME_ID,
                    PURCHASE#,
                    PAYMENTMETHOD,
                    DELIVERYMETHOD);
btqmn9zl

btqmn9zl1#

当您尝试比较两个不同的数据类型时,通常会给出该类型的错误(无效数字)。或者您正在使用没有聚合值的聚合函数。
请检查您尝试聚合或比较的列中的所有值。
你也可以使用cast函数来快速求解。

相关问题