TABLE1 [email protected]ORA-01722タイプは
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)
表3のevkuzmin_b2b_churn_ban_segment
Name Null Type
----------- ---- -------------
BAN_KEY NUMBER(9)
CLIENT_NAME VARCHAR2(300)
CLIENT_INN VARCHAR2(40)
SEGMENT_CRM VARCHAR2(150)
私のクエリと一致する必要がありますけれども、無効な番号。ここでは、ban_keyの最初の2つのテーブルを結合し、その結果を3番目のテーブルに挿入します。タイプは一致しますが、まだエラーが発生します。どうして? evkuzmin_b2b_churn_ban_segmentで
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;
[email protected]_keyにおける非数値データを探しているです: ' [email protected] T2から t2.ban_key を選択 WHERE 1 = 1 AND REGEXP_LIKE(t2.ban_key、 '[^ [:digit:]]'); ' –