我有一个表' MyTable ',它有一些业务逻辑。该表有一个名为Expression的列,其中包含使用其他列构建的字符串。我的查询是
Select Value from MyTable where @Parameters_Built like Expression
变量@Parameters_Built 是通过将所有输入参数连接在一起而构建的。
在我目前的情况下,
@Parameteres_Built='1|2|Computer IT/Game Design & Dev (BS)|0|1011A|1|0|'
Below are the expressions
---------------------
%%|%%|%%|0|%%|%%|0|
---------------------
1|2|%%|0|%%|%%|0|
---------------------
1|%%|%%|0|%%|%%|0|
---------------------
所以我上面的查询对所有三行都返回 true。但它应该只返回第二行(最大匹配)。
我只是不需要解决这种情况的解决方案。这只是一个例子。我需要一个解决方案,比如选择最佳匹配。任何想法?