为什么这项工作:
SELECT * FROM Companies WHERE CompanyCode LIKE '%' AND BusinessUnitShortName LIKE 'CO%'
虽然这不起作用:
DECLARE @WHERECondition NVARCHAR(200) = ''
SET @WHERECondition = '''%'' AND BusinessUnitShortName LIKE ''CO%'''
SELECT * FROM Companies WHERE CompanyCode LIKE @WHERECondition
SELECT @WHERECondition
为了使这项工作,您需要使用像
DECLARE @WHERECondition NVARCHAR(200) = ''
SET @WHERECondition = '''%'' AND BusinessUnitShortName LIKE ''CO%'''
declare @sql nvarchar(Max)
Set @sql='SELECT * FROM Companies WHERE CompanyCode LIKE'+@WHERECondition
exec sp_executesql @sql
如果不使用动态sql,则需要提供列名,因为SQL解析器将在解析查询时查找列,如果找不到,则会导致错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句