我有一个名为 TableA 的表,在 ColA 列中有以下数据
ColA
100
60
50
30
10
我有一个名为@colA 的参数
我只想选择一行。条件是,如果 ColA 的值与 @colA 匹配,则返回该行。如果未找到匹配项,则查找 ColA 和 @colA 之间的差异最小的行。
例如,如果 @colA = 50,则返回 50 的行。如果@colA = 58,则返回 60 的行。如果 @colA = 33,则返回 30 的行。如果@colA = 200,则返回 100 的行。这可以仅在 Select 语句中使用 Where 子句和/或一些 Min/Max 语句来完成,还是使用 IF 语句测试每个条件来完成更好?
谢谢你的帮助!