我收到错误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);
1条答案
按热度按时间btqmn9zl1#
当您尝试比较两个不同的数据类型时,通常会给出该类型的错误(无效数字)。或者您正在使用没有聚合值的聚合函数。
请检查您尝试聚合或比较的列中的所有值。
你也可以使用cast函数来快速求解。