Обсуждение: Datatype Inet and Searching

Поиск
Список
Период
Сортировка

Datatype Inet and Searching

От
"Devin Atencio"
Дата:
<div class="Section1"><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Dear Users,</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">I am very new to using the inet data type and I have a database with a list of CIDRs in
it</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial">And I was hoping to be able to do some kind of select statement that would pull the
record</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial">That the IP given is located in for example. If in my database I have a record like:</span></font><p
class="MsoNormal"><fontface="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Id          cidr                   name</span></font><p class="MsoNormal"><font face="Arial"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Arial">1          10.0.0.0/30        user1</span></font><p class="MsoNormal"><font face="Arial"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Arial">2          10.0.0.4/30        user2</span></font><p class="MsoNormal"><font face="Arial"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Arial">3          10.0.0.8/30        user3</span></font><p class="MsoNormal"><font face="Arial"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">I was hoping to be able to do something like:</span></font><p class="MsoNormal"><font face="Arial"
size="2"><spanstyle="font-size:10.0pt; 
font-family:Arial">Select * from mytable where cidr <<=’10.0.0.5’</span></font><p class="MsoNormal"><font
face="Arial"size="2"><span style="font-size:10.0pt; 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">And the database would return only record 2 since it knows that 10.0.0.5 is contained only within
record2.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial">I can’t seem to figure out the correct syntax to make this type of query happen. Any help would
greatly</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt; 
font-family:Arial">Be appreciated.</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Devin Atencio</span></font></div>

Re: Datatype Inet and Searching

От
Gaetano Mendola
Дата:
Devin Atencio wrote:
>  
> 
> Dear Users,
> 
>  
> 
> I am very new to using the inet data type and I have a database with a 
> list of CIDRs in it
> 
> And I was hoping to be able to do some kind of select statement that 
> would pull the record
> 
> That the IP given is located in for example. If in my database I have a 
> record like:
> 
>  
> 
> Id          cidr                   name
> 
> 1          10.0.0.0/30        user1
> 
> 2          10.0.0.4/30        user2
> 
> 3          10.0.0.8/30        user3
> 
>  
> 
> I was hoping to be able to do something like:
> 
> Select * from mytable where cidr <<=’10.0.0.5’


select * from mytable where cider >>= '10.0.0.5'

The operation a >>= b mean:

a contain or is equal b.



Regards
Gaetano Mendola




Re: Datatype Inet and Searching

От
Guy Fraser
Дата:

Devin Atencio wrote:

> Dear Users,
>
> I am very new to using the inet data type and I have a database with a 
> list of CIDRs in it
>
> And I was hoping to be able to do some kind of select statement that 
> would pull the record
>
> That the IP given is located in for example. If in my database I have 
> a record like:
>
> Id cidr name
>
> 1 10.0.0.0/30 user1
>
> 2 10.0.0.4/30 user2
>
> 3 10.0.0.8/30 user3
>
> I was hoping to be able to do something like:
>
> Select * from mytable where cidr <<=’10.0.0.5’
>
> And the database would return only record 2 since it knows that 
> 10.0.0.5 is contained only within record 2.
>
> I can’t seem to figure out the correct syntax to make this type of 
> query happen. Any help would greatly
>
> Be appreciated.
>
> Devin Atencio
>
Select * from mytable where cidr >>= ’10.0.0.5’

or

Select * from mytable where ’10.0.0.5' <<= cidr

-- 
Guy Fraser
Network Administrator
The Internet Centre
780-450-6787 , 1-888-450-6787

There is a fine line between genius and lunacy, fear not, walk the
line with pride. Not all things will end up as you wanted, but you
will certainly discover things the meek and timid will miss out on.