- - PR -
SQL(LIKEとESCAPE)についての質問です
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-22 13:37
テーブルTableAに
Comment -------- aaa@[aaa というデータがあり、SELECTで取り出すとき SELECT * FROM TableA WHRE Comment like '%@%' では取り出せましたが、 SELECT * FROM TableA WHRE Comment like '%aaa@[aaa%' escape '@' では取り出せませんでした aaa@[aaaを指定して取り出すにはどのようにすればよいでしょうか? [ メッセージ編集済み 編集者: 未記入 編集日時 2008-05-22 13:39 ] | ||||
|
投稿日時: 2008-05-22 13:53
回答ではありませんが、
なぜescape構文が必要だと思ったのか、そのあたり教えてくださるとありがたいです。 | ||||
|
投稿日時: 2008-05-22 14:07
返答ありがとうございます
'%aaa@[aaa%'内の[がメタ文字のためエスケープする必要があると考えました データに@がないものとしてescape処理していたのですが、 データに@(エスケープ文字)が含まれることになり、さらに、メタ文字もある場合の検索の仕方が分かりませんでした。 | ||||
|
投稿日時: 2008-05-22 14:27
なるほど。それであれば、 SELECT * FROM TableA WHERE Comment LIKE '%aaa@@@[aaa%' ESCAPE '@' で取得できるでしょう。 # @@ はエスケープされて @ 自身に、@[ はエスケープされて [ になるので。 | ||||
|
投稿日時: 2008-05-22 16:54
ありがとうございます!
で、取り出せました! 本当にありがとうございました! | ||||
|
投稿日時: 2008-05-22 17:12
…ん、まてよ?
わざわざ '@' をエスケープ文字にしないで、通常エスケープに使う文字を使えばいいだけの話? ということを後になってから気づくのであったorz | ||||
|
投稿日時: 2008-05-22 17:37
escape自体いらない...。 |
1