1

SQLのパラメーターを使用して「どこで」機能するようにしようとしています。

SELECT * FROM tablename WHERE(name IN (@names))

そこで、sqlmanager で SQL を実行し、@name 値に「Name1」、「Name2」と入力するよう求められたら入力します。このように、クエリは 0 行を返します。しかし、SQLを次のように変更すると:

SELECT * FROM tablename WHERE(name IN ('Name1','Name2'))

できます。

それを機能させるためのトリックは何ですか?

この投稿で解決しました:投稿へのリンクすべての応答に感謝します:)

4

1 に答える 1

0

これを試してください。

Declare @names varchar(150)
Set @names = '''Name1'',''Name2'''
Declare @str varchar(max) 
set @str = 'SELECT * FROM tablename WHERE(name IN ('+@names+'))'
Execute(@str)
于 2012-06-28T10:47:50.777 に答える