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

मैसकल एक इंट को मैक में बदलें

यह मानते हुए कि आपने सभी विभाजकों को दबाकर मैक पते को संग्रहीत किया है और परिणामी एचईएक्स संख्या को इंट में परिवर्तित कर दिया है, इस इंट से मानव पठनीय मैक पते में रूपांतरण होगा:

function int2macaddress($int) {
    $hex = base_convert($int, 10, 16);
    while (strlen($hex) < 12)
        $hex = '0'.$hex;
    return strtoupper(implode(':', str_split($hex,2)));
}

फ़ंक्शन http://www.onurguzel से लिया गया है .com/storing-mac-address-in-a-mysql-database/

इस फ़ंक्शन के लिए MySQL संस्करण:

delimiter $$
create function itomac (i BIGINT)
    returns char(20) 
    language SQL
begin
    declare temp CHAR(20);
    set temp = lpad (hex (i), 12, '0');
    return concat (left (temp, 2),':',mid(temp,3,2),':',mid(temp,5,2),':',mid(temp,7,2),':',mid(temp,9,2),':',mid(temp,11,2));
end;
$$
delimiter ;

आप इसे सीधे SQL में भी इस तरह कर सकते हैं:

select
    concat (left (b.mh, 2),':',mid(b.mh,3,2),':',mid(b.mh,5,2),':',mid(b.mh,7,2),':',mid(b.mh,9,2),':',mid(b.mh,11,2))
from (
    select lpad (hex (a.mac_as_int), 12, '0') as mh
    from (
        select 1234567890 as mac_as_int
    ) a
) b


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उन सभी पंक्तियों को मुद्रित करने के लिए एकल क्वेरी जिनकी गिनती 10 . से अधिक है

  2. MySQL अपडेट इनर जॉइन टेबल क्वेरी

  3. मैं PHP/MySQLi के साथ एक MySQL पूर्णांक कॉलम में NULL कैसे प्राप्त करूं?

  4. सिद्धांत में दो उत्पन्न मूल्य

  5. मैसकल - मैं बारी-बारी से (1,2,3, 1, 2, 3, 1, 2, 3,) पंक्तियों से परिणाम कैसे ऑर्डर करूं, क्या यह संभव है?