ここに同様の質問があることは承知していますが、どれもまさに私が必要としているものではありません。その一部がビューを実行するSQL sprocがあります。デザインと機能が同一の 3 つのデータベースがありますが、データが異なり、そのうちの 1 つだけでこのエラーが発生します。エラーが発生した DB からビューを取得し、他の DB で実行すると、問題なく実行されます。最も奇妙な部分は、このビューが機能し、その後停止し、修正されて再び機能し始め、一部のデータに変更を加え始めたときに再び停止したことです。
この特定の行に要約しました。
Left(AO.Name,PATINDEX('%-%',AO.Name)-1) as ColumnName
興味深いのは、変更'%-%
すると'%'
エラーがなくなり、SPROC が適切に実行されることです。
5 つの質問があります。
'%-%'
があるのにないのに、なぜこのエラーが発生するの'%'
ですか? 違いは何ですか?一方を使用することでどのような変更が行われますか?このエラーはどういう意味ですか?
まったく同じビューが、他の 2 つの同一のデータベースでは適切に機能するのに、このデータベースでは機能しないのはなぜですか?
なぜこれは動作していた後に動作を停止し、何らかの方法で修正してから、何らかのデータ操作の後に再び壊れてしまうのでしょうか?
PATINDEX 以外で使用できるより良い方法はありますか?
どんな助けでも大歓迎です。ありがとうございました。