在SQL中对不确定参数问题的解决方案

时间:2021-09-26 14:58:27

一般来说,对于拥有数据类型为字符串类型的列的表,当知道最多使用N个参数,而每次使用其中的某m(M<=N) 个参数,其余的参数为null。 

SQL语句的写法:

Select       *

From        Table

Where      Isnull(@a,Isnull(col1,'NULLnull'))=Isnull(col1,'NULLnull')

And          Isnull(@b,Isnull(col2,'NULLnull'))=Isnull(col2,'NULLnull')

And          Isnull(@c,Isnull(col3,'NULLnull'))=Isnull(col3,'NULLnull')

……

其中,NULL为该列不可能出现的特殊字符串,以区别可能存在的列值。

另外,需要注意一下列的字符串的最大长度,以面超出范围。