多字段模糊查询sql like %% 优化与区别
多字段模糊查询sql like %% 优化与区别
SELECT *
FROM [KLims].[dbo].[Task]
where ClientCompany like '%a%' or [Address] like '%a%'
SELECT *
FROM [KLims].[dbo].[Task]
where ClientCompany + [Address] like '%a%'
但当其中一字段为null时,用第二种会找不到数据。
http://four-corner.appspot.com/
因为当某一字段为null时,拼接的字段整体都为null,要让第二种办法可以使用,可以这样写,将为null的字段,替换为'';
SELECT *
FROM [KLims].[dbo].[Task]
where isnull(ClientCompany,'') + isnull([Address],'') like '%a%'
这样既可正常执行,又高效。