多字段模糊查询sql like %% 优化与区别


http://anforen.5d6d.com/


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%'

 


这样既可正常执行,又高效。 

相关文章:

  • 2022-12-23
  • 2021-12-15
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-08-07
  • 2021-10-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案