我在 sql server 2005 中编写了一个用于搜索结果的存储过程。
SP
SELECT RTRIM(DEPT_DESC) DEPT_DESC, RTRIM(DEPT_ID) DEPT_ID
FROM T_ROLLUP_DEPT
WHERE DEPT_ID like @SearchText + '%' OR DEPT_DESC like '%%'
我添加了“%%”来帮助它在列中搜索。
即,如果我们正在搜索 Medical Controller,它将允许我们键入“CONTRO”,它会产生结果 Medical Controller。
然而,这也引起了一些头痛。似乎如果我按 dept_id 搜索并输入“2”,它会显示所有结果。不仅是以 2 开头的部门 ID。此外,如果我输入一堆随机数,它也会返回所有结果。
任何人都知道为什么以及如何解决这个问题?