我应该如何设置一个范围参数,该参数也可以是SQL中的单个输入



我尝试使用

  1. CHECK_NO BETWEEN '&From_Check_No_' AND '&To_Check_No_'
  2. CHECK_NO >= '&From_Check_No_' AND (CHECK_NO <= '&To_Check_No_' OR '&To_Check_No_' IS NULL)但当我只通过FromNumber输入时,这并不能显示适当的结果。类似范围输入-
From_Check_No_: 3
To_Check_No_: 9

结果:

|CHECK_NO |
-----------
|    3    |
|    4    |
|    6    |
|    9    |

类似于单一输入-

From_Check_No_: 3
To_Check_No_: (null)

结果:

|CHECK_NO |
-----------
|    3    |

只需在@From_Check_No_中传递与@To_Check_No_相同的值。

DECLARE @From_Check_No_ int = 3;
DECLARE @To_Check_No_ int = 3;
SELECT CHECK_NO
FROM YourTable
WHERE CHECK_NO BETWEEN @From_Check_No_ AND @To_Check_No_;

请注意,我说parameters,您应该始终参数化您的查询,而不是向其中注入值。

相关内容

最新更新