電子書籍の厳選無料作品が豊富!

mysqlに格納したエクセルファイルの、シート内の文字列を検索したいのですが上手くいきません。

半角英数の文字列なら、以下のSQL文で引っ張ってくることができました。

SELECT *
FROM テーブル名
WHERE 列名 LIKE '%abc%';

mysqlのバージョンは5.1です。
検索はPHPで行おうと思っています。

どなたか知っている方いらっしゃいましたら、よろしくお願いします。

A 回答 (3件)

>blob型で定義した列に、バイナリデータとして格納しました。



なんか変な話になっているような・・・
エクセルデータをバイナリで流しこんでそのまま検索するという無謀な試みですか?

エディタでエクセルファイルを開いて、シートの中身を
見られるか確認してみれば、なぜ検索できないかわかるでしょう
文字を拾いたいなら、なんらかのライブラリで、エクセルのデータを
抜くような処理をいれないと難しいかもしれませんね

いずれにしろSQLの処理ですからバイナリデータでヒットさせるのは
データの持ち方としてはかなり非効率的です。
正規化も含めてSQLを学習なさった方がよろしいかと。
    • good
    • 0
この回答へのお礼

ありがとうございます。

ライブラリについて調べてみたのですが、ファイル形式ごと対応したライブラリを使うということになるのでしょうか?

やりたいことは、アップロードができる掲示板などの記事の検索で、記事の本文だけでなく添付されたエクセルなどのファイルの中身まで検索できるようにしたいと考えています。

例えば、検索文字列の方をバイナリデータにして検索するなど、DBの中を直接検索する方法はないでしょうか?

後からの説明が多くなってしまい申し訳ありませんが、よろしくお願いします。

引き続きライブラリについても調べてみます。

お礼日時:2010/07/30 12:44

半角英数字のみ検索できるのなら、文字コードの問題と推測します。



mysqlの文字コードを、お使いの環境の文字コードに変更すれば改善しませんか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
mysqlの文字コードはutf-8にしているのですが、エクセルやコマンドプロンプトの文字コードの設定方法が分かりませんでした。
明日また調べてみますが、もし知っていましたら教えてくださると助かります。

お礼日時:2010/07/30 01:08

>mysqlに格納したエクセルファイル



状況がわかりかねるのでもう少し状況説明をお願いします
普通にやるとmysqlにエクセルファイルは格納できませんが・・・

この回答への補足

blob型で定義した列に、バイナリデータとして格納しました。
格納したエクセルを取り出すことはできるのですが、格納した状態で中身を検索することが上手くできません。

補足日時:2010/07/30 01:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!