SQL连接查询字符串

SQL连接查询字符串,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个SQL脚本,如下所示,带有一些变量 declare @endDate datetime declare @whereClause nvarchar(MAX) set @whereClause = ' where endDate < ''' + @endDate + '''' 我要做的是连接@whereClause和select语句,这样结果应该是 select * from TableNamewhere endDate < ''2013/11/2'' 您可以通过使用两个

我有一个SQL脚本,如下所示,带有一些变量

declare @endDate datetime
declare @whereClause nvarchar(MAX)

set @whereClause = ' where endDate < ''' + @endDate + ''''
我要做的是连接
@whereClause
和select语句,这样结果应该是

select * from TableNamewhere endDate < ''2013/11/2''

您可以通过使用两个varchar变量来实现这一点;一个用于SELECT子句,一个用于WHERE子句

即:


但是如何执行@select nvarchar变量呢?您可以使用sp_executesql:
EXEC sp_executesql@select
注意,您必须提供一个有效的日期,语句才能工作,并且必须将日期转换为varchar值。
select * from TableNamewhere endDate < ''2013/11/2''
select * from TableName + @whereClause
DECLARE @select AS nvarchar(max)
SET @select = 'SELECT * FROM TableName'

SET @select = @select + @whereClause