こんばんわ
sqlserverのESCAPEについての質問です。
例えばM_SHOHIN(商品マスタ)のSHOHIN_NAMEという列があるとします。
その中に'○○_パソコン'や'××_テレビ'というデータが入っていたとして
select SHOHIN_NAME from M_SHOHIN
where SHOHIN_NAME like '%_%'
↑これでは目的の'○○_パソコン'や'××_テレビ'の行を抽出できないのは試してみてわかったのですが
select SHOHIN_NAME from M_SHOHIN
where SHOHIN_NAME like '%!%' ESCAPE '!'
↑これで(アンダーバー)の含む文字列をヒットさせることが可能な理由がわかりません。
ただ単にESCAPEを使えばできるということはネットでも調べることができましたが仕組みが自分では理解できませんでした。
ここからは自分の勝手な想像でしかないのですが
ESCAPE '!' で指定した文字を_(アンダーバー)の代わりに担ってくれている。
つまり'!' = '_'ということになる。
ということかな...?
長々と申し訳ありません
宜しければ教えて頂けないでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/23 14:49