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

แปลงระบบเลขฐานหนึ่งเป็นระบบฐานอื่นใน MySQL


ฟังก์ชัน CONV() สามารถใช้ในการแปลงระบบเลขฐานหนึ่งเป็นระบบฐานอื่นได้

ตัวอย่างเช่น 16 เป็นระบบฐานหนึ่งและ 10 เป็นระบบฐานอื่น ระบบฐาน 16 เป็นฐานสิบหกและ 10 เป็นทศนิยม

ไวยากรณ์มีดังนี้ −

เลือก CAST(CONV('yourColumnName',16,10) AS UNSIGNED INTEGER) เป็น anyAliasName จาก yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง castTypeToBigIntDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> ค่า varchar(100), -> คีย์หลัก (Id) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.19 วินาที) 

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า castTypeToBigIntDemo(Value) ('AB5'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า castTypeToBigIntDemo(Value) ('55244A5562C5566354'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.15 วินาที)mysql> แทรกลงในค่า castTypeToBigIntDemo(Value) ('4546575765ABD78'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที) mysql> แทรกลงในค่า castTypeToBigIntDemo(Value) ('5979787DEFAB'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.19 วินาที) mysql> แทรกลงในค่า castTypeToBigIntDemo(Value) ('8686866856ABD'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+--------------------+| รหัส | ค่า |+----+--------------------+| 1 | AB5 || 2 | 55244A5562C5566354 || 3 | 4546575765ABD78 || 4 | 5979787DEFAB || 5 | 86868686856ABD |+----+--------------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อส่งประเภทไปยัง BigInt ใน MySQL -

mysql> SELECT CAST(CONV(Value,16,10) AS UNSIGNED INTEGER) เป็น BigNumber จาก castTypeToBigIntDemo;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----------------------+| บิ๊กนัมเบอร์ |+----------------------+| 2741 || 18446744073709551615 || 31198582936644088 || 98378247434155 || 37865559219858109 |+----------------------+5 แถวในชุด 1 คำเตือน (0.00 วินาที)