[解決済み] SQL文字列内のアンパサンドキャラクターのエスケープ
2022-04-23 20:07:46
質問
SQLデータベースで、ある行の名前を照会しようとしていますが、その行にはアンパサンドがあります。エスケープ文字を設定し、アンパサンドをエスケープしようとしましたが、なぜかうまくいきませんし、何が問題なのかよくわかりません。
Set escape '\'
select * from V1144engine.T_nodes where node_id in(
select node2_id from V1144engine.T_edges where node1_id in(
select node2_id from V1144engine.T_edges where node1_id in(
select node2_id from V1144engine.T_edges where node1_id =
(select node_id from V1144engine.T_nodes where node_name = 'Geometric Vectors \& Matrices')))
and edge_type_id = 1)
and node_type_id = 1
and node_id in (
select node2_id from V1144engine.T_edges where node1_id =
(select node_id from V1144engine.T_nodes where node_name = 'Algebra II')
and edge_type_id = 2);
と似たような解決策を持っていますが この質問 しかし、この2つの問題は全く異なるものです。最終的には同じ解答になるかもしれませんが、だからといって問題が同じとは限りません。
どのように解決するのか?
の代わりに
node_name = 'Geometric Vectors \& Matrices'
使用
node_name = 'Geometric Vectors ' || chr(38) || ' Matrices'
38はアンパサンドのアスキーコードで、この形では文字列として解釈され、それ以外のものは解釈されません。試してみたところ、うまくいきました。
他の方法としては、LIKEと'&'文字の代わりにアンダーラインを使用することもできます。
node_name LIKE 'Geometric Vectors _ Matrices'
この1文字だけが違う他のレコードも見つかる可能性は、かなり低いでしょう。
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] jQueryでHTML文字列をエスケープする
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
org.postgresql.util.PSQLException: ERROR: リレーション "userinfo" の列 "loginid" が存在しません。
-
[解決済み] Oracleで上位100行を選択する方法は?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] 項目xにアクセスできるように文字列を分割するにはどうすればよいですか?