/ /正規表現を使用して文字列を変換する - sql、正規表現

正規表現を使用して文字列を変換する - sql、regex

私は部分文字列を使ってそれを変換し、それはうまく動作しますが、私は多くを変換する必要があり、それは時間がかかります。

私はregexがはるかに効率的かつ高速であると言われました。

正規表現に関するアドバイス?

regexを使ってstring1をstring2に変換する

string1 = "96457fa012456c41bf9200011da2d8fa"

string2="96457fa012456c41bf92011da2d8fa"

前もって感謝します

回答:

回答№1は1

これはOracleで動作します - Oracleのregex実装をSQL Serverに置き換えるのは簡単です:

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

説明:

  • 我々は任意の対の文字=> ".."と一致させたい
  • 私たちはちょうどマッチした文字を "保存"したいので、キャプチャグループにそれらを囲みます=> "(..)"
  • 置換文字列で、一致するグループの内容を取得したい=> "1"
  • 各グループ=> "\ 1"の前にバックスラッシュを追加したい
  • デュアルはOracleのダミーテーブルです