[解決済み] SQL Serverにおけるエスケープ文字
2022-03-14 09:47:34
質問
引用符をエスケープ文字と一緒に使いたいのですが、どうすればいいですか?特殊文字がある場合、以下のようなエラーが発生するのですが、どうすればよいでしょうか。
<ブロッククオート文字列の後ろに閉じないクォーテーションマークがあります。
解決方法は?
エスケープするには
'
の前に別のものを置くだけです。
''
2番目の回答が示すように、このようにシングルクォートをエスケープすることも可能です。
select 'it''s escaped'
は、次のようになります。
it's escaped
SQLをVARCHARに連結して実行する場合(つまり動的SQL)、SQLをパラメータ化することをお勧めします。これはSQLインジェクションを防ぐのに有効で、さらにこのような引用符のエスケープを気にする必要がありません(引用符を二重にすることでエスケープします)。
例えば、次のようにする代わりに
DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT * FROM MyTable WHERE Field1 = ''AAA'''
EXECUTE(@SQL)
を試してみてください。
DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT * FROM MyTable WHERE Field1 = @Field1'
EXECUTE sp_executesql @SQL, N'@Field1 VARCHAR(10)', 'AAA'
関連
-
[解決済み] SQL ServerにおけるXOR
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] razor viewエンジンでの@文字のエスケープ
-
[解決済み] SQL Server アンダースコアのエスケープ
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 各GROUP BY式は、外部参照でない列を少なくとも1つ含む必要があります。
-
[解決済み] サブレポートが表示されない。サブレポートは別々に動作します - メインレポートとは連動しません
-
[解決済み] sp_columnsが結果を返さないのはなぜですか?
-
[解決済み] COUNTフィールドが正しくないか、構文エラーです。
-
[解決済み] SQL Serverのタイムスタンプ列をdatetime形式に変換する方法
-
[解決済み] SQL ServerでCreateステートメントを使用してtempテーブルを作成する方法は?
-
[解決済み] SQL Serverでforeachを記述する方法とは?
-
[解決済み] SQL ServerにおけるXOR
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] SQL Server アンダースコアのエスケープ