多年前,当时刚毕业的我还比较青涩,后端会把N多个要检索的字段传入到存储过程中,我当时通常的写法是拼Sql,大概长这样:
DECLARE @WHERE VARCHAR(MAX) = '1=1';
IF @TITLE <> ''
BEGIN
SET @WHERE += ' AND Title = @TITLE'
END
IF @AGE <> ''
BEGIN
SET @WHERE += ' AND Age = @Age'
END
EXEC('SELECT * FROM USER WHERE ' + @WHERE);