Sql server 从作业重写SQL Server运算符

Sql server 从作业重写SQL Server运算符,sql-server,Sql Server,有时我需要覆盖SP中的查询,有时我需要where x=x,有时我需要使用where x。 是否允许这样的逻辑: DECLARE @Operator VARCHAR(1); SET @Operator = '=' IF 'X' @Operator 'Y' PRINT 'Yes' ELSE PRINT 'No' 使用动态SQL 试着这样做: DECLARE @Operator VARCHAR(1); SET @Operator = '=' DECLARE @SQL NVARCHAR(MAX

有时我需要覆盖SP中的查询,有时我需要where x=x,有时我需要使用where x。 是否允许这样的逻辑:

DECLARE @Operator VARCHAR(1);

SET @Operator = '='

IF 'X' @Operator 'Y'
PRINT 'Yes'
ELSE
PRINT 'No'

使用动态SQL

试着这样做:

DECLARE @Operator VARCHAR(1);

SET @Operator = '='

DECLARE @SQL NVARCHAR(MAX)='
IF ''X'' '+@Operator+' ''Y''
PRINT ''Yes''
ELSE
PRINT ''No''
'
exec(@SQL)
输出

No