前提として
NUMBER | NAME |
---|---|
1 | Tom |
2 | Jennifer |
3 | O'neal |
4 | Jerry |
こんなデータベースがあったとして勉強していきましょう
問題
あなたはO'nealさんの情報だけ見たいです。
普通に考えたら、
select * from 表 where name='O'neal';
となりますよね。
ですが!!
解決法
- 二つの「'」をつづけて書く(”ではない!)
select * from 表 where name='O''neal';
-
代替引用メカニズムを使用する
何言ってんのですよね(笑)
まぁ、単語は難しいですがやってることは簡単です
初め:q'と任意の文字
終わり:任意の文字と'
を書くだけ!!
select * from 表 where name= q'|O'neal|';
とか、
select * from 表 where name= q'#O'neal#';
はたまた、
select * from 表 where name= q'{O'neal}';
こんなのとか