Oracle: удалите первые 4 символа из строки

поэтому я хочу удалить первые 4 символа из строки в oracle. Эти персонажи могут быть разными каждый раз. В моем случае мне нужно забрать первые 4 символа IBAN и поместить их в конец строки. Я получил часть их размещения в конце строки, но я не могу удалить первые 4 символа. Каждое решение, которое я нахожу в интернете, удаляет указанные символы, а не символы из определенной позиции в строке (от 1 до 4). Я использовал код ниже, чтобы получите первые 4 символа до конца строки и хотите попробовать что-то подобное для удаления их спереди, но безуспешно.

SELECT SUBSTR(iban_nummer, 1, 4) INTO iban_substring FROM dual;
iban_nummer := iban_nummer || iban_substring;

3 ответов


посмотреть docs:

substring_length ... Если для этого аргумента не указано значение, функция возвращает все символы в конец строки. При указании значение, которое меньше 1, функция возвращает NA.

Так iban_nummer := substr(iban_nummer, 5) || substr(iban_nummer, 1,4) должны работать. В первой части выбираются все символы, начиная с 5-го, во второй-цифры 1..4.


update table_name set col_name=substr(col_name,5);

попробовать и, например:

SELECT regexp_replace(t.iban_nummer,'(.{4})(.*)','') FROM t;