0

ここに同様の質問があることは承知していますが、どれもまさに私が必要としているものではありません。その一部がビューを実行するSQL sprocがあります。デザインと機能が同一の 3 つのデータベースがありますが、データが異なり、そのうちの 1 つだけでこのエラーが発生します。エラーが発生した DB からビューを取得し、他の DB で実行すると、問題なく実行されます。最も奇妙な部分は、このビューが機能し、その後停止し、修正されて再び機能し始め、一部のデータに変更を加え始めたときに再び停止したことです。

この特定の行に要約しました。

Left(AO.Name,PATINDEX('%-%',AO.Name)-1) as ColumnName

興味深いのは、変更'%-%すると'%'エラーがなくなり、SPROC が適切に実行されることです。

5 つの質問があります。

  1. '%-%'があるのにないのに、なぜこのエラーが発生するの'%'ですか? 違いは何ですか?一方を使用することでどのような変更が行われますか?

  2. このエラーはどういう意味ですか?

  3. まったく同じビューが、他の 2 つの同一のデータベースでは適切に機能するのに、このデータベースでは機能しないのはなぜですか?

  4. なぜこれは動作していた後に動作を停止し、何らかの方法で修正してから、何らかのデータ操作の後に再び壊れてしまうのでしょうか?

  5. PATINDEX 以外で使用できるより良い方法はありますか?

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1