Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

IP पता दशमलव के रूप में संग्रहीत - PL/SQL बिंदीदार क्वाड के रूप में प्रदर्शित करने के लिए

यह वह कार्य है जिसकी आपको आवश्यकता है:

create or replace
function inttoip(ip_address integer) return varchar2
deterministic
is
begin
    return to_char(mod(trunc(ip_address/256/256/256),256))
           ||'.'||to_char(mod(trunc(ip_address/256/256),256))
           ||'.'||to_char(mod(trunc(ip_address/256),256))
           ||'.'||to_char(mod(ip_address,256));
end;

(फ़ंक्शन को नियतात्मक बनाने और बोर्ड पर लिए गए to_char का उपयोग करने के बारे में टिप्पणियाँ - धन्यवाद)।

Oracle 11G में आप स्वरूपित IP पते को होस्ट टेबल पर एक वर्चुअल कॉलम बना सकते हैं:

alter table host
add formatted_ip_address varchar2(15)
generated always as
( to_char(mod(trunc(ip_address/256/256/256),256))
          ||'.'||to_char(mod(trunc(ip_address/256/256),256))
          ||'.'||to_char(mod(trunc(ip_address/256),256))
          ||'.'||to_char(mod(ip_address,256))
) virtual;

यदि आवश्यक हो तो इस कॉलम को प्रश्नों के लिए अनुक्रमित किया जा सकता है।

आपकी क्वेरी बन जाती है:

select hostname, formatted_ip_address from host;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql - तारीख कनेक्ट होने पर पंक्तियों को मर्ज करना

  2. Oracle में varchar2 PL/SQL सबप्रोग्राम तर्क के लिए आकार सीमा क्या है?

  3. कृपया SQLPLUS के साथ मदद करें? प्रारंभ में DEFINE `OFF` के साथ SQLPLUS स्टार्टअप कैसे बनाएं?

  4. Oracle में UTF8 वर्ण सेट को कैसे कॉन्फ़िगर करें?

  5. Oracle SQL में 1 घंटा जोड़ें