-5

私は今問題に直面しています..クエリ自体にブラケットのようなコードが含まれていてfoo、これfooが次のような結果の宣言値に置き換えられた場合はどうなりますか@foo

@fooOが「foo」の代わりにコンテナの内容を出力したい場合は、使用する必要があります'@foo'が、SQLはそれを「@foo」として読み取り、@「と」の間にあるため無視します

C# ではいつものように "'"+@foo+"'" を使用しますが、SQL には " の ID がないため、' を使用します

私が使う'''+@foo+'''と読めません。C# では \ のようなものを角かっこの間に使用して実行しますが、SQL は読み取りません

この場合、どうすればよいですか?

問題とクエリ自体の画像:

問題

4

1 に答える 1

2

一重引用符をエスケープしたいようです。

これを行うには、それらを 2 倍にする必要があります。

DECLARE @foo char(1);
    SET @foo = 'A';

SELECT '''' As a_single_quote
     , '''''' As a_pair_of_single_quotes
     , '''' + 'TEST' + '''' As escaped_string
     , '''' + @foo + '''' As with_a_variable
于 2013-09-17T15:02:30.193 に答える