Функция replace
заменяет все вхождения строки, поэтому вы должны убедиться, что строка для замены уникальна или использовать что-то еще. Однако regexp_replace
заменяет только первое вхождение по умолчанию, поэтому вы можете использовать его; Ваш вопрос немного неясен относительно ожидаемого результата, но, возможно, это то, что вы ищете:
=> select regexp_replace('tab,graph,map', ',', '0,');
regexp_replace
----------------
tab0,graph,map
Или вот этот:
=> select regexp_replace('tab,graph,map', 'tab,', '0,');
regexp_replace
----------------
0,graph,map
Или, может быть, даже это:
=> select regexp_replace('tab,graph,map', 'tab,', '0,,');
regexp_replace
----------------
0,,graph,map