SQL Server の挿入での一重引用符の処理
SQL Server データベースにテキスト データを挿入するには、特殊文字、特に一重引用符 (') を慎重に扱う必要があります。 これらを誤って処理すると、SQL 構文エラーが発生する可能性があります。
次の問題のある SQL ステートメントについて考えてみましょう。
<code class="language-sql">INSERT INTO my_table VALUES ('It's a test.');</code>
「It's」の一重引用符は文字列リテラルを途中で終了させ、エラーを引き起こします。
SQL Server での解決策は簡単です。一重引用符を 2 重にします。 修正されたステートメントは次のとおりです:
<code class="language-sql">INSERT INTO my_table VALUES ('It''s a test.');</code>
この手法により、文字列内の単一引用符がエスケープされ、文字列全体が正しく解釈されるようになります。
SQL Server を使用した実際の例で説明してみましょう (バージョンは重要ではありません。この方法はバージョンを超えて機能します)。
<code class="language-sql">DECLARE @my_table TABLE ( [value] VARCHAR(200) ); INSERT INTO @my_table VALUES ('It''s a test with multiple ''quotes''.'); SELECT * FROM @my_table;</code>
出力は正しく表示されます:
<code>value ------------------------------ It's a test with multiple 'quotes'.</code>
これは、挿入時に SQL Server 文字列リテラル内で一重引用符を 2 つ使用することで効果的に処理される方法を示しています。 このアプローチにより、この特定の問題に対する、より複雑なパラメーター化されたクエリ メソッドが回避されます。
以上がSQL Server の挿入で一重引用符をエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。