我的数据库中有一个字段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
这真的不是很漂亮。
有没有办法使用通配符来压缩它?
编辑:
在 RegEx 中,这将是((?<=,)|^)Section_Not_Found_WCLS((?=,)|$)
理想情况下,我想要一个适用于 Oracle、MSSQL、PGSQL 的解决方案。