Здесь:
'Jam' + CAST(ROW_NUMBER() OVER(..) AS VARHCAR(20))
В отличие от других баз данных (а именно, SQL Сервер), оператор добавления в Oracle действительно означает, что: сложение. Таким образом, поскольку вы на самом деле пытаетесь добавить две строки, Oracle пытается преобразовать их в числа - что не удается для буквальной строки 'Jam'
.
Скорее всего, вам нужна скорее конкатенация строк (||
) чем дополнение (+
):
SELECT
NOABSEN,
TANGGAL,
JAM,
'Jam' || CAST(ROW_NUMBER() OVER (PARTITION BY NOABSEN ORDER BY NOABSEN desc) as VARCHAR(20)) as ColumnsSequence
From HRD_ABS_FINGER_DIVISI;