| Autor | Zpráva | ||
|---|---|---|---|
| souki Profil |
#1 · Zasláno: 24. 5. 2006, 00:03:25
mám textový sloupec (varchar(64)) a v něm danou ip adresu. Ta je daná bud jako např. 192.168.0.1 nebo jako 192.168.*.* nebo 192.168.0.22-54
to jsou povolené adresy. Já potřebuji ověřit zda se nachází uživatelova adresa v databázi. Jde to nějak jednoduše aniž bych ji musel systematicky procházet? P.S.: databázi měnit nemůžu |
||
| thingwath Profil |
#2 · Zasláno: 24. 5. 2006, 00:14:02
NIc moc me nenapada, snad by na to slo nasadit procedury v databazi, ale to by potrebovalo (v pripade ze jde o ni) mysql 5+. Ale ani to systematicke prochazeni nemusi byt uplne nejstrasnejsi.
|
||
| Kajman_ Profil * |
#3 · Zasláno: 24. 5. 2006, 09:20:55
Pokud je rozsah vždy až na poslední úrovni, tak by to mohlo být takto nějak.
select sloupec, substring_index(sloupec,'.',-1) rozsah, substring_index('192.168.0.26','.',-1)+0 konec from tabulka having ('192.168.0.26' like replace(sloupec,'*','%')) or (locate('-',rozsah) and substring_index(rozsah,'-',1)+0<=konec and substring_index(rozsah,'-',-1)+0>=konec) Pokud ten rozsah může být kdekolik, tak si to doupravte ;-) |
||
| souki Profil |
#4 · Zasláno: 25. 5. 2006, 21:18:58
díky moc... říkal jsem si, že to budu muset řešit takhle, ale nemám s prací s řetězci přímo v MySQL moc zkušeností.... díky moc ;)
|
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0