一般来说,对于拥有数据类型为字符串类型的列的表,当知道最多使用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为该列不可能出现的特殊字符串,以区别可能存在的列值。
另外,需要注意一下列的字符串的最大长度,以面超出范围。