0
我在Oracle 10g上運行SQL查詢。我有兩個表格(下面提供了示例數據)。我試圖從表t2中提取一些字段 並更新表t1中的空列。我遇到了以下錯誤:難以實現REGEXP_SUBSTR
ORA 01722:無效的號碼(指着REGEXP_SUBSTR)
我明白這是因爲非 - 數字數據(如「無碼{...} 「)在我的表中,我試圖提取使用REGEXP_SUBSTR *表達式 我想知道是否有人可以建議我一些替代實現來幫助我」複製整個字符串「,而不是拋出一個異常。
MERGE
INTO temptab t1
USING directory_list t2
ON (REGEXP_SUBSTR(codelist, '[^.]+', 1) = t2.tcode)
WHEN MATCHED THEN
UPDATE
SET t1.tcode = t2.tcode,
t1.des = t2.des
temptab T1
Codelist | T1.tcode | T1.des
1111.1.803.12.X.Z
1000.2.3232.145.M.P
300.12.2982.45.X.Y
NO code {...}
1111.1.803.12.X.Z
directory_list t2
tcode | DES
1000 | powervalue100
300 | powermax300
20 | powermin20
NO code {...} | maxvalue plus
1000 | powervalue100
感謝,
新手