0

部分文字列を使用して変換しますが、正常に機能しますが、多くのを変換する必要があり、時間がかかります。

正規表現の方がはるかに効率的で高速だと言われました。

正規表現に関するアドバイスはありますか?

正規表現を使用してstring1をstring2に変換する

string1 = '96457fa012456c41bf9200011da2d8fa'

string2='\96\45\7f\a0\12\45\6c\41\bf\92\00\01\1d\a2\d8\fa'

前もって感謝します

4

1 に答える 1

1

これはOracleで機能します。Oracleの正規表現の実装をSQLServerの実装に置き換えるのは簡単です。

select regexp_replace(
  '96457fa012456c41bf9200011da2d8fa', 
  '(..)', 
  '\\\1') 
from dual

説明:

  • 文字の任意のペアに一致させたい=>".."
  • 一致した文字を「保存」したいので、キャプチャグループに囲みます=> "(..)"
  • 置換文字列で、一致するグループの内容を取得したい=> "\ 1"
  • 各グループの前に円記号を追加します=>"\\\1"
  • dualは、Oracleの単なるダミーテーブルです。
于 2013-03-15T15:02:10.600 に答える