检查数据库中的值列表

Mon*_*han 1 sql sql-server

假设TableA有一个名为FieldA的字段.FieldA由一个值列表组成,逗号为分隔符(即1,2,3,4).#MyVar#包含我想要搜索的值(单个值,而不是列表).除了做以下之外,

SELECT *
  FROM TableA
 WHERE FieldA LIKE '%,#MyVar#,%'
    OR FieldA LIKE '#MyVar#,%'
    OR FieldA LIKE '%,#MyVar#'
Run Code Online (Sandbox Code Playgroud)

是否有SQL命令/保留字来执行上述SQL语句的等效操作?

Lar*_*tig 6

你有一个设计糟糕的非规范化数据库.如果可能的话,修复设计.

如果那是不可能的,那么考虑MyVar值的性质.如果他们不可能彼此嵌套(例如,他们都保证是相同数量的字符),你可以逃脱一个像.如果没有,你的解决方案就像你将得到的一样好.