0

私は十分な注意を払いましたが、まだ立ち往生しています。検索文字列で最後に存在する同じ文字がどこにあるかを特定し、その文字に続く文字を確認する必要がある状況があります。これを行うには RLIKE を使用する必要があると思いますが、別の方法があるかもしれません。table.column コンテンツ文字列の例:

MSH|Stuff|morestuf|||
PID|stuff|morestuff|morestuffofanotherlength||wejustfollowedablank|morestuff2||^1^|||..|||||..|.||.

私は何を数える 19 パイプ | キーワード PID の後、次の文字が | でないかどうかを確認します。(パイプは 19 本以上ある場合もあれば、少ない場合もあります。探すパイプが 19 本ない場合は爆破したくありません)

LOCATE 関数を使用して PID の後の開始位置を見つけることができることはわかっていますが、その位置を式に渡して | の 19 回の出現のカウントを開始する方法がわかりません。開始位置を超えています。

つまり、pspad の部分的な正規表現は'\(.+\)PID[|]{19}'、mysql でこれをエラーにできないように見えるため、構文が異なるか、完全に間違った方向に進んでいます。

助言がありますか?

4

0 に答える 0