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

ทำงานกับเลขฐานสิบหกใน MySQL หรือไม่


ในการทำงานกับฐานสิบหก ให้ใช้ฟังก์ชัน CONV() เพื่อแปลงระหว่างฐาน ไวยากรณ์มีดังนี้ −

ตั้งค่า anyVariableName =CONV(yourHexValue,16,10);

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

mysql> DELIMITER //mysql> สร้างขั้นตอน SP_HEX_TO_DEC ( HEXVALUE VARCHAR(10) ) -> BEGIN -> DECLARE Decimalvalue INTEGER; -> SET ค่าทศนิยม =CONV (HEXVALUE,16,10); -> เลือกค่าทศนิยม; -> สิ้นสุด; -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.19 วินาที) mysql> DELIMITER;

ขั้นตอนที่เก็บไว้ข้างต้นแปลงเลขฐานสิบหกเป็นทศนิยม ตามที่เราทราบ A แทน 10 ในฐานสิบ เราจะผ่าน A เป็นพารามิเตอร์ เรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่ง CALL

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

CALL yourStoredProcedureName;

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

mysql> โทร SP_HEX_TO_DEC('A');

ต่อไปนี้คือผลลัพธ์ที่แสดงค่าทศนิยมที่คำนวณโดยใช้ขั้นตอนการจัดเก็บที่สร้างขึ้นด้านบน -

<ก่อนหน้า>+-------------+| ค่าทศนิยม |+-------------+| 10 |+---------------------+1 แถวในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.01 วินาที)

ตรวจสอบด้วยคำสั่ง select โดยตรง

mysql> เลือก Conv('AB',16,10) เป็น DecimalResult;

ต่อไปนี้คือผลลัพธ์ -

<ก่อนหน้า>+--------------+| ผลลัพธ์ทศนิยม |+---------------+| 171 |+---------------------+1 แถวในชุด (0.00 วินาที)

ให้เราดูขั้นตอนการแปลงฐานสิบหกเป็นทศนิยม จำกฎนี้ -

A และ B แสดงเป็น 10 และ 11 ตามลำดับในเลขฐานสิบหก หากต้องการแปลงเป็นกฎทศนิยมมีดังนี้:N ………+value3 *162 +value2 *161 + value1 * 160=10 * 161 + 11 * 160=160+11=171.