假如下面這是 SQL 資料表 , 以後我會將實際的 EXCEL 匯到 MYSQL 做查詢
如果地址的安和跟姓名的安和相同 , 這時候取出這兩個人 , 這個查詢可以做到 , 但是當地址的字元跟姓名的字元有上千時 , 我要如何找出這兩個欄位相同之處然後取出呢 ? 難道只能將上千字元都打入 , 然後抓取符合之處取出嗎 ? 還是當這兩個欄位有兩個字相符合時就取出 , 至於是那兩個字就不得而知 , 有辦法這樣設定嗎 ?
地址的安和跟姓名的安相同, 這時候取出這兩個人,是指要取出第1 和第2 筆資料嗎?
簡單的方式是以姓名為索引,再去比對地址,
將所有人姓名的字取出,排除重覆並記錄每個字所屬的筆數(位置),
再將這些字逐一比對地址是否有相同字元,有的話再記錄比對到的地址筆數(位置),
因為你的條件是哪個字有相同的情況下取出筆數,所以每個字的比對結果都是獨立的,
有多少字就有多少結果,這樣是很正常的,當然也不用去手動打字搜尋,一次就能夠處理完。
這個不難壓
1.取人名字串長度Len
2.做for(int i=0;i<Len;i++)的迴圈
3.取每個字元 str=名字.substring(i,1)
4.取包含 if(地址.Contain(str)){你想做的事}
5.解決