2013-08-14 7 views
1

У меня есть эта таблица строкOracle вставить символ в строку

RowA 
______ 
ABC123 
DEF432 
WER677 
JKL342 

, как я могу добавить «_» между записью с помощью оракула к этому? Предполагая добавить последние 4 символа.

RowA 
______ 
ABC_123 
DEF_432 
WER_677 
JKL_342 

ответ

6

Вы бы попробовать что-то вроде:

Update Table_name set table_column = substr(table_column, 1, 3) || '_' || substr(table_column, 4); 

The SUBSTR функции позволяет извлечь подстроку из строки. Синтаксис функции SUBSTR является:

SUBSTR(string, start_position, [ length ]) 

string является исходная строка.

start_position - это место для извлечения. Первая позиция в строке всегда 1.

length не является обязательной. Это количество символов для извлечения. Если этот параметр опущен, функция SUBSTR вернет всю строку.

5

Другой подход, использующий regexp_replace() регулярные функции выражения:

select regexp_replace(RowA, '^([[:alpha:]]{3})', '\1_') as res 
    from your_table 

Результат:

RES 
---------- 
ABC_123 
DEF_432 
WER_677 
JKL_342 

SQLFiddle Demo

Смежные вопросы