2

[a-z][A-Z]Oracle 11gでは、ランダムな文字xに該当する列の文字データを変換するにはどうすればよいですか。たとえば、ソース列のデータがtomの場合は、xxxを取得する必要があり、ソース列のデータがlillyの場合は、xxxxxを取得する必要があります。

4

2 に答える 2

1

あなたは書ける:

REGEXP_REPLACE(name_of_source_column, '[a-zA-Z]', 'x')
  AS source_column_with_letters_replaced_by_x

(もちろん、それsource_column_with_letters_replaced_by_xはOracleでは有効な識別子ではありません)。

于 2012-10-16T21:25:58.097 に答える
1
SELECT dbms_random.string( 'A', length( <<input string>> ))
  FROM dual

と同じ長さのアルファベット文字のランダムな大文字と小文字が混在する文字列を返します<<input string>>。それがあなたが探しているものだと思います。ただし、ソース文字列のアルファベット文字のみを置き換えたいかどうかは、あなたの質問からはわかりません。つまり、入力文字列が「Tom4Jerry」の場合、出力を「xxx4xxxxx」にしますか。ここで、xはランダムな文字です。または、「xxxxxxxxx」が必要ですか?

于 2012-10-16T21:27:16.000 に答える