タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

mysql tipに関するbleu-bleutのブックマーク (3)

  • 【MySQL】大文字小文字、全角半角区別しないでマッチする検索をしたい at softelメモ

    問題 select * from member where namae like '%サトウ%'; こんなSQLで、namaeがサトウ、サトウ、さとう、サトウ(一部半角)何でもマッチさせたい! 答え では、これで。 select * from member where namae collate utf8_unicode_ci like '%サトウ%'; データベースがutf8でないときは、もうひとつ変換を入れて、 /* ERROR 1253: COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'ujis' など言われたら */ select * from member where convert(namae using utf8) collate utf8_unicode_ci like '%サトウ%'; 数字の全角/半

    【MySQL】大文字小文字、全角半角区別しないでマッチする検索をしたい at softelメモ
    bleu-bleut
    bleu-bleut 2012/07/26
    utf8_general_ciはアルファベットの全角半角だけを区別しないが、utf8_unicode_ciはアルファベット、数字、ひらがな、カタカナの全角半角を区別しなくなる。デフォはutf8_general_ciで、必要な時にutf8_unicode_ciにして比較すればいい。
  • 【MySQL】カンマ区切りデータを扱う at softelメモ

    問題 テキスト型のカラムにカンマ区切りのデータが入っているらしいんだけど、like検索するしかないかな? 答え 1 MySQLならでは。FIND_IN_SET関数がある。 FIND_IN_SET(str, strlist) N 個の部分文字列で構成されるリスト strlist に、文字列 str が含まれている場合は、1 から N までのいずれかの値を返す。文字列のリストは、それぞれの間を ‘,’ 文字で区切られた各部分文字列で構成される文字列である。最初の引数が定数文字列で、2 番目の引数が SET 型のカラムの場合、FIND_IN_SET() 関数はビット演算を使用するよう最適化される。 str が strlist に含まれていない場合や、strlist が空の文字列の場合は、0 を返す。どちらの引数も NULL の場合は、NULL を返す。 最初の引数にカンマ ‘,’ が含まれている

    【MySQL】カンマ区切りデータを扱う at softelメモ
    bleu-bleut
    bleu-bleut 2012/07/01
    カンマ区切りのデータ(a,b,c,d)にbが含まれているかを検索、、、一時しのぎとして使用できそう。
  • Mysql+PHPで件数取得:COUNT mysql_num_rows FOUND_ROWS 比較 | 株式会社フォレスト・コンサルタンツ

    のように、全体件数と表示中のデータ件数が併記される場合が多い。ところが、レコード数が多くなったり、SQL文が複雑になると、全体件数の取得にかかるスピードが物凄く遅くなる場合がある。 と言う訳で、どのような方法で全体件数を取得するのが高速なのかを調べてみた。 環境はMysql+PHP。候補は次の3つ。 COUNTを使う。 mysql_num_rowsを使う。(*PHP関数) FOUND_ROWSとSQL_CALC_FOUND_ROWSを使う。 サンプル ※以下のSQLの結果、及び、LIMITの制約を外した場合の結果(=全体件数)を取得する。 $query = 'SELECT id, name, area FROM company ORDER BY id LIMIT 20'; $q1 = 'SELECT COUNT(*) FROM company'; //全体件数を取得するシンプルなSQLクエ

    bleu-bleut
    bleu-bleut 2012/05/11
    limit句が設定されたクエリの全体件数の取得。
  • 1