0
私はソース列を持っており、05、5 971971および97105から9715に置き換えられる文字列値を検索したいと思います。出力表に表示します。オカレンスをOracle SQLの文字列の先頭に置き換える方法は?
SOURCE OUTPUT 0514377920 971514377920 544233920 971544233920 971971511233920 971511233920 9710511233920 971511233920
私は、最初のケースのために働く、以下を試してみました。
SELECT REGEXP_REPLACE ('0544377905', '^(\05*)', '9715')FROM dual;
しかし、次は、第二のケースのために、機能していません。
SELECT REGEXP_REPLACE ('544377905', '^(\5*)', '9715')FROM dual;
何かが私の正規表現が間違っています。 ORA-12727:正規表現でバック・リファレンスが無効です。
第3のパターン「971971」は '9719715'ですか?一般化することができますか?文字列の最初の5文字までをすべて置き換えようとしていますか、たとえば、最後の8文字は任意の値にします。または変更したくない他の値がありますか? –
これを制御できる場合は、データモデルを修正する方がよいでしょう。電話番号の列は1つではなく、国コードの場合は1つ、地域(地域、地域など)コードの場合は1つ、実際の番号の場合は1つの番号が必要です。残念なことに、ここに投稿する人は、そのような変更を行うのに十分な力がありません... – mathguy