5

我有这个行表

RowA
______
ABC123
DEF432
WER677
JKL342

如何在使用 oracle 的记录之间添加一个“_”?假设添加最后 4 个字符。

RowA
______
ABC_123
DEF_432
WER_677
JKL_342
4

2 回答 2

12

你会尝试这样的事情:

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

这些SUBSTR函数允许您从字符串中提取子字符串。该SUBSTR函数的语法是:

SUBSTR( string, start_position, [ length ] )

string是源字符串。

start_position是提取的位置。字符串中的第一个位置始终为 1。

length是可选的。它是要提取的字符数。如果省略此参数,则 SUBSTR 函数将返回整个字符串。

于 2013-08-14T11:47:15.150 回答
6

另一种方法,使用regexp_replace()正则表达式函数:

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

结果:

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

SQLFiddle 演示

于 2013-08-14T12:30:49.740 回答