2010-05-21 9 views
7

क्या पोस्टग्रेएसक्यूएल में एक आईपी पते में int को परिवर्तित करने का कोई आसान तरीका है? मैं इस कोड का उपयोग int करने के लिए आईपी से जाने में सक्षम था:एक आईपी पते में एक int को परिवर्तित करना

 
SELECT inet '1.2.3.4'-'0.0.0.0' 

यह काम नहीं करता:

 
SELECT 16909060::inet 

मैं दस्तावेज में कुछ नहीं देखा। क्या किसी को भी यह करना आता है?

उत्तर

11
SELECT '0.0.0.0'::inet + 16909060 
+0

यह मेरे लिए काम करना प्रतीत होता था। – User1

0

किसी और मामले किसी में IP पते से युक्त एक मेज से चयन करने के लिए कोशिश कर रहा है और स्तंभ एक long के रूप में परिभाषित किया गया है, तो आप bigint पर कास्ट कर सकते और रूपांतरण काम करेंगे।

select '0.0.0.0'::inet + cast(source_ip as bigint) from addresses; 
संबंधित मुद्दे