作者whileloop (迴圈)
看板C_Sharp
標題[問題] 地址搜尋的建議
時間Thu May 19 14:26:57 2011
我目前要設計一個網頁,在網頁上可以搜尋資料庫裡的地址欄位
但是,資料庫的地址欄位不一定很單純只有單一一筆地址
例如它的地址欄的資料是:新北市XX路123號~133號
或者是:新北市XX路99號、新北市YY路66號
或者是:新北市XX路99~103號、新北市YY路66號
如果我想要查:新北市XX路125號有沒有在資料庫的範圍裡
我該怎麼以現成的資料欄位再去切割來方便搜尋
或者資料庫不須再設計,有什麼方法可以以關鍵字去找是否有範圍內的資料有包含?
或者,還是用程式來搜尋比對比較方便?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.154.204
1F:→ b9433056:用LIKE~~~~ 05/19 14:28
2F:推 horngsh:先取得地址欄位後, 再用Split()方法得出被分隔的部分, 再 05/19 17:10
3F:推 horngsh:逐一的比對判斷 05/19 17:10
4F:→ whileloop:用Like比對也會有問題,例如他的地址資料是填:「新北 05/19 23:21
5F:→ whileloop:市XX路123號~133號」而不是:「新北市XX路123號、新北 05/19 23:21
6F:→ whileloop:市XX路124號、新北市XX路125號、新北市XX路126號...」 05/19 23:21
7F:→ whileloop:所以用Split()來切,感覺也沒什麼意義。 05/19 23:22
8F:→ james732:看起來你只能抓出「123~133」這個區間後再用程式比對了 05/19 23:31
9F:→ whileloop:請問j大,如果是要抓「123號~133號」要怎麼抓? 05/19 23:37
10F:→ whileloop:也有地址是「XX巷123-5號~YY巷133-6號」這樣的鬼資料XDD 05/19 23:39
11F:→ james732:....看起來應該會超級麻煩的 orz 05/19 23:46
12F:→ b9433056:LIKE 12*號的不行嗎? 05/20 18:54
13F:→ james732:如果是 XX路100~120號的話,要抓出115就不能用like做 05/20 19:17
14F:→ huw12313212:dynamic programming 05/22 18:24
15F:→ apiod:你地址攔位這樣規劃很爛 05/22 19:43
16F:→ Ageis:建議搭配RE"洗"過一次資料後,再做你要的的查詢 05/22 22:27
17F:→ hbin:將所有住址都正規化成一種格式,郵局網站有所有鄉鎮市及路名 06/03 21:49