0

ERR_CODESデータベースに、現在のレコードのエラー コードを含むフィールドがあります。

たとえば、次のものを含めることができます。

Invalid_Template_Code_Filename_WCLS,Color_Template_Of_Different_Domain_WCLS,Section_Not_Found_WCLS

Section_Not_Found_WCLSフィールドの最初と最後にコンマを追加せずに、含まれているかどうかをテストしたいとします。

私はテストする必要があります:

WHERE "ERR_CODES" LIKE '%,Section_Not_Found_WCLS,%'  --between other errs
   OR "ERR_CODES" LIKE 'Section_Not_Found_WCLS,%'    --at start of a err sequence
   OR "ERR_CODES" LIKE '%,Section_Not_Found_WCLS'    --at end of a err sequence
   OR "ERR_CODES"   =  'Section_Not_Found_WCLS'      --unique err for this record

これは本当に美しくありません。

ワイルドカードを使用してそれを圧縮する方法はありますか?

編集:

正規表現では、これは((?<=,)|^)Section_Not_Found_WCLS((?=,)|$)

理想的には、Oracle、MSSQL、PGSQL のそれぞれで機能するソリューションが必要です。

4

2 に答える 2