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

เราสามารถแทนที่ตัวเลขทั้งหมดของค่าคอลัมน์เป็นศูนย์ยกเว้นหลักแรกได้หรือไม่?


ได้ เราสามารถแทนที่ตัวเลขทั้งหมดของค่าคอลัมน์เป็นศูนย์ได้ ยกเว้นหลักแรก เรามาดูตัวอย่างและสร้างตารางกันก่อน −

mysql> สร้างตาราง DemoTable744 (Number varchar(100));เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.47 วินาที)

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

mysql> แทรกลงในค่า DemoTable744 ('537737736252'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable744 ('989000099999'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรก ลงในค่า DemoTable744 ('343225666666664533'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable744 ('4322111899494'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

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

<ก่อนหน้า>+--------------------+| เบอร์ |+--------------------+| 537737736252 || 989000099999 || 3432256666666664533 || 4322111899494 |+--------------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทนที่ตัวเลขทั้งหมดของค่าคอลัมน์เป็นศูนย์ยกเว้นหลักแรก -

mysql> เลือก CONCAT(LEFT(Number, 1), REPEAT('0', CHAR_LENGTH(Number) - 1)) AS AfterAddingZero จาก DemoTable744;

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

<ก่อนหน้า>+--------------------+| AfterAddingZero |+--------------------+| 5000000000000 || 9000000000000 || 3000000000000000000 || 4000000000000 |+--------------------+4 แถวในชุด (0.06 วินาที)