Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบสอบถาม MySQL เพื่อคัดลอกที่อยู่ IP จากคอลัมน์ varchar เป็นจำนวนเต็มในตารางเดียวกันหรือไม่


สำหรับสิ่งนี้ คุณสามารถใช้ INET_ATON() ให้เราสร้าง −

. ก่อน
mysql> สร้างตาราง DemoTable1404 -> ( -> IpAddress varchar(40) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.02 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้การแทรก -

mysql> แทรกลงในค่า DemoTable1404 ('192.168.120.0'); Query OK, 1 แถวได้รับผลกระทบ (0.43 วินาที)mysql> แทรกลงในค่า DemoTable1404 ('192.168.120.20'); Query OK, 1 แถวได้รับผลกระทบ (0.60 วินาที )mysql> แทรกลงในค่า DemoTable1404 ('224.0.0.0'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.42 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้ตัวเลือก -

mysql> เลือก * จาก DemoTable1404;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------------+| IPAddress |+----------------+| 192.168.120.0 || 192.168.120.20 || 224.0.0.0 |+----------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อคัดลอกที่อยู่ IP จากคอลัมน์ varchar เป็นจำนวนเต็มในเดียวกัน -

mysql> เลือก inet_aton(IpAddress) จาก DemoTable1404;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----------------------+| inet_aton(IpAddress) |+----------------------+| 3232266240 || 3232266260 || 3758096384 |+----------------------+3 แถวในชุด (0.00 วินาที)

ไม่ ให้เราพิสูจน์ว่าการแปลงสำเร็จหรือไม่ -

mysql> select inet_ntoa('3232266240');

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------------------------------+| inet_ntoa('3232266240') |+-----------------------------------+| 192.168.120.0 |+-------------------------------------- +1 แถวในชุด (0.27 วินาที)