0

私はいくつかの変数を持つ以下のようなSQLスクリプトを持っています

declare @endDate datetime
declare @whereClause nvarchar(MAX)

set @whereClause = ' where endDate < ''' + @endDate + ''''

SQL 選択ステートメントは次のとおりです。

select * form TableName

私がやりたいのは、結合@whereClauseと選択ステートメントなので、結果は次のようになります

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

以下のステートメントを使用して 2 つの文字列を結合しようとしましたが、エラーが発生します

「+」付近の構文が正しくありません。

以下のスクリプトの何が問題になっていますか? または、どうすれば2つの文字列を結合できますか?

select * from TableName + @whereClause
4

1 に答える 1

2

これを行うには、2 つの varchar 変数を使用します。1 つは SELECT 用、もう 1 つは WHERE 句用です。

すなわち:

DECLARE @select AS nvarchar(max)
SET @select = 'SELECT * FROM TableName'

SET @select = @select + @whereClause
于 2013-11-02T09:42:18.977 に答える