Oracle поддерживает множество функций SQL, которые обрезают переменные. Я подозреваю, что вам нужен SUBSTR (). Проблема в том, что вам нужно будет явно указать желаемую длину. В этом примере предполагается, что T23.WHATEVER имеет значение VARCHAR2 (30), а значение T24.TOO_LONG_COLUMN больше:
insert into t23
(id
, whatever)
select pk_col
, substr(too_long_col, 1, 30)
from t42
/