• 締切済み

MySQLで住所テーブルのLIKE検索で

「CONCAT」使ったLIKE検索はできるようになったのですが、まだできない事があり質問。 東京都新宿区大久保2-26 という住所があり、下記のようにカラム展開されているとします。 東京都 | 新宿区 | 大久保 | 2 | 26 | これを「新宿区大久保2-26」で検索する場合です。 東京都 | 新宿区 | 大久保 | 2 | -26 | としておけばCONCATでまとめて検索できますが、先にハイフンを入れておく事に不自然さを感じます。ハイフンなしだと東京都新宿区大久保226でもヒットしてしまうし。 なにか対処方はあるのでしょうか?

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

そもそもLIKEでマッチさせようというなら最初から わけずにつなげておけばいいのでは? 完全一致をねらうならカラムをわけても悪いとはいわないですが よほどローカルな区分けでなにかを管理しない限り 番地まで一致するような集計が必要になるとは思えませんが? (たとえば番地ごとにある電柱の数を集計するとかそのレベル・・・) 都道府県、市区町村、それ以下の3くくり位がちょうどいいかと

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

2丁目26番地という住所があるなら 226番地という住所は存在しないです。 もちろん、違う地区にはありますが。 東京都新宿区大久保2-26と、 東京都新宿区大久保226は共存しない。 東京都新宿区大久保2-26があって 東京都新宿区小久保226は共存しうる。

関連するQ&A