tabelle1 [email protected]ORA-01722 ungültige Nummer obwohl Typen
Name Null Type
--------------------------- -------- -------------
BAN_KEY NOT NULL NUMBER(9)
CLIENT_NAME VARCHAR2(300)
CLIENT_INN VARCHAR2(40)
EFFECTIVE_DATE NOT NULL DATE
EXPIRATION_DATE DATE
table2 [email protected]
Name Null Type
---------------- ---- -------------
SEGMENT_CRM VARCHAR2(150)
BAN_KEY VARCHAR2(32)
table3 evkuzmin_b2b_churn_ban_segment
Name Null Type
----------- ---- -------------
BAN_KEY NUMBER(9)
CLIENT_NAME VARCHAR2(300)
CLIENT_INN VARCHAR2(40)
SEGMENT_CRM VARCHAR2(150)
Meine Abfrage entsprechen sollte. Hier schließe ich die ersten 2 Tabellen auf ban_key an und füge das Ergebnis in die dritte Tabelle ein. Die Typen stimmen überein, aber ich bekomme immer noch den Fehler. Warum?
INSERT INTO evkuzmin_b2b_churn_ban_segment
SELECT a.ban_key, a.client_name, a.client_inn, b.segment_crm FROM(
SELECT ban_key, client_name, client_inn
FROM(
SELECT ban_key,client_name, client_inn,
ROW_NUMBER() OVER (PARTITION BY ban_key, client_inn ORDER BY effective_date DESC) AS rn
FROM [email protected]
WHERE expiration_date >= TO_DATE('01.04.2016','DD.MM.YYYY') OR expiration_date IS NULL --1ST DAY OF REPORTING PERIOD
)
WHERE rn = 1
) a, [email protected] b
WHERE a.ban_key = b.ban_key;
Geben Sie für Nicht-Zahldaten in [email protected]_key: SELECT t2.ban_key VON [email protected] t2 WHERE 1 = 1 UND REGEXP_LIKE (t2.ban_key, '[^ [: digit:]]'); ' –