I MySQL går sådant i alla fall att fixa enkelt.
SELECT * FROM t1 WHERE '10.0.0.25' BETWEEN ip_begin AND ip_end;
Om det verkligen fungerar för alla intervall är jag däremot osäker på. Om det inte gör det så kan du istället göra precis som spåret du är inne på och använda heltalsrepresentation av en ip-adress. I MySQL finns funktionen INET_ATON() för att omvandla en IP-adress på n1.n2.n3.n4-format till ett heltal. Alla scriptspråk lär förresten ha någon motsvarande funktion, på rak arm vet jag att PHP har ip2long() för det ändamålet.
Kod:
department ip_begin ip_end ip_long_begin ip_long_end
dep1 10.0.0.1 10.0.0.20 167772161 167772180
dep2 10.0.0.21 10.0.0.40 167772181 167772200
dep3 10.0.0.41 10.0.0.60 167772201 167772220
SELECT dep FROM t1 WHERE INET_ATON('10.0.0.25') BETWEEN ip_long_begin AND ip_long_end;
> dep2
Om jag nu inte missförstod dig och du är ute efter nånting helt annat...