【发布时间】:2011-06-29 17:01:43
【问题描述】:
我有一个对记录执行搜索的存储过程。
问题是一些来自 UI 的搜索条件可能是空字符串。 因此,当没有指定条件时,LIKE 语句就变得多余了。
如何有效地执行该搜索或 Sql Server?或者,它是否优化了 LIKE('%%') 查询,因为它意味着没有什么可比较的?
存储过程是这样的:
ALTER PROC [FRA].[MCC_SEARCH]
@MCC_Code varchar(4),
@MCC_Desc nvarchar(50),
@Detail nvarchar(50)
AS
BEGIN
SELECT
MCC_Code,
MCC_Desc,
CreateDate,
CreatingUser
FROM
FRA.MCC (NOLOCK)
WHERE
MCC_Code LIKE ('%' + @MCC_Code + '%')
AND MCC_Desc LIKE ('%' + @MCC_Desc + '%')
AND Detail LIKE ('%' + @Detail + '%')
ORDER BY MCC_Code
END
【问题讨论】:
标签: sql sql-server search stored-procedures sql-like