Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   IP-Adresse aus Datenbank (https://www.delphipraxis.net/127368-ip-adresse-aus-datenbank.html)

Meriones 12. Jan 2009 10:06

Datenbank: oracle • Zugriff über: andere

IP-Adresse aus Datenbank
 
Hallo allerseits,

ich suche nach einer Möglichkeit per SQL nach dem Vorhandensein einer IP-Adresse in einer Datenbankspalte zu filtern.
Klingt eigentlich ganz einfach oder:

SQL-Code:
Select * from tabelle where ip='192.168.0.1'
Allerdings sollen auch Wildcards möglich sein. D.h. in der Tabelle könnte auch 192.168.0.* stehen, so das ganze Netzte eingelschlossen werden können.

Das ganze in SQL bzw. PL/SQL.

Kennt da jemand ne Möglichkeit?

Viele Grüsse, meriones

Bernhard Geyer 12. Jan 2009 10:09

Re: IP-Adresse aus Datenbank
 
Auf SQL-Ebene sind % und _ die zu verwendenten Wildcards

* -> %
? -> _

omata 12. Jan 2009 10:10

Re: IP-Adresse aus Datenbank
 
klick

RWarnecke 12. Jan 2009 10:13

Re: IP-Adresse aus Datenbank
 
Statt
SQL-Code:
Select * from tabelle where ip='192.168.0.1'
könntest Du auch
SQL-Code:
Select * from tabelle where ip like '192.168.0'
nehmen.

Wunni 12. Jan 2009 10:22

Re: IP-Adresse aus Datenbank
 
SQL-Code:
select * from <tabelle> where ip like '192.168.0.%'
oder bei Interbase / Firebird

SQL-Code:
select * from <tabelle> where ip starting with '192.168.0'

nahpets 12. Jan 2009 10:24

Re: IP-Adresse aus Datenbank
 
Hallo,

habe mir angewöhnt, beim Speichern IP-Adressen mit Nullen aufzufüllen.

Statt 192.168.0.1 -> 192.168.000.001, das vereinfacht das Suchen und das Sortieren.
Suchen geht dann z. B. mit where ip like '192.168.000.___' für den ganzen 192.168.0-Bereich.
Aber auch where ip like '192.168.000.1__' wäre möglich, um den Bereich 192.168.000.100 bis 192.168.000.199 abzudecken.

where IP like '192.168.0.%' wäre für Dich auch eine Möglichkeit.

Meriones 12. Jan 2009 10:43

Re: IP-Adresse aus Datenbank
 
Danke für die vielen Antworten.

Mir ist allerdings immernoch nicht klar wie ichs dann machen. Beispiel:

In der DB Stehen die IPs:

192.168.0.2
192.168.0.*
192.168.*.*


Jetzt möchte ich wissen ob eine bestimmte IP und vollständige (ohne Wildcards!!!) in der Datenbank vorhanden.

z.B. z.B. 192.168.0.2

So und da komme ich nicht weiter:

SELECT ip FROM tabelle WHERE '192.168.0.2' like ......

Danke,

meriones

RWarnecke 12. Jan 2009 10:46

Re: IP-Adresse aus Datenbank
 
zum Beipsiel :
SQL-Code:
SELECT ip FROM tabelle WHERE ip like '192.168.0.2'

Wunni 12. Jan 2009 11:04

Re: IP-Adresse aus Datenbank
 
SQL-Code:
select * from <tabelle> where ip = '192.168.0.2'

DeddyH 12. Jan 2009 11:05

Re: IP-Adresse aus Datenbank
 
Wobei LIKE nur in Verbindung mit Wildcards Sinn macht, sonst kannst Du auch mit = abfragen.

[edit] Einen Tick zu langsam :? [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz