SQLのwhere句でLIKE命令を使う時はワイルドカードを併用するが、このワイルドカードが実装によって異なるのは困ったもんだ。
UNIX系でよく使われる’*’(アスタリスク)の場合もあれば、’%’(パーセント)の場合もある。
職場のSQLサーバで使えるのがどちらか判らなくて迷ってしまった(汗)。
#ORACLEでは’%’なのね、、、、%がワイルドカードだなんてどっかのパソコンのOSみたい(笑)
特にテーマを定めず気楽に書く日記(主に温泉やパソコン、アニメ、カメラに関することになるかな?) リンクはトップページ、個別記事のどちらでもご自由に。写真等の転載は該当記事へのコメント等でご連絡を頂けるとブログ主が喜びます。#記事内の商品紹介等にはアフィリエイト広告を含みます。
SQLのwhere句でLIKE命令を使う時はワイルドカードを併用するが、このワイルドカードが実装によって異なるのは困ったもんだ。
UNIX系でよく使われる’*’(アスタリスク)の場合もあれば、’%’(パーセント)の場合もある。
職場のSQLサーバで使えるのがどちらか判らなくて迷ってしまった(汗)。
#ORACLEでは’%’なのね、、、、%がワイルドカードだなんてどっかのパソコンのOSみたい(笑)
3 comments to this article
千歳
on 2010 年 6 月 9 日 at 12:00 PM -
基本的には%ですね。
MS系はAccessが昔*だった事もあって、設定によっては*を許容するかもです。
tan
on 2010 年 6 月 9 日 at 1:30 PM -
千歳さん
SQLは少々齧ったことしかないので、教えていただいて助かります。
LIKEは使ったことが無かった(存在は知っていたという程度)ので、具体的な使い方が判りませんでした。
千歳
on 2010 年 6 月 10 日 at 10:53 AM -
最近のOracleはアレですが、昔は癖(方言)が強くて、DBの移植の時は大変でした。mysqlの3の時代も酷かったですが。
Like演算子は、後方一致(%ほにゃらら)だとインデックスが効かず、効率が落ちたりするので、なかなか難しいです。
頑張って下さい!