ลบศูนย์นำหน้าใน SQL

Lb Suny Na Hna Ni Sql



เมื่อต้องจัดการกับข้อมูลในโลกแห่งความเป็นจริง มักจะยุ่งและสกปรก ซึ่งหมายความว่าอาจมีข้อมูลที่ไม่จำเป็นหรือไม่ถูกต้องซึ่งอาจเป็นอุปสรรคต่อการดำเนินงานและงานที่เราต้องการดำเนินการ

ข้อมูลที่ไม่สะอาดที่พบบ่อยที่สุดประการหนึ่งที่คุณอาจพบคือข้อมูลที่มีเลขศูนย์นำหน้าในข้อมูลตัวเลขหรือสตริง ซึ่งอาจเกิดขึ้นเมื่อนำเข้าข้อมูลจากแหล่งภายนอกหรือใช้เทคนิคการรวบรวมข้อมูลอัตโนมัติ

ศูนย์นำหน้าในข้อมูลอาจเป็นปัญหาได้ โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับค่าตัวเลขที่จัดเก็บเป็นสตริง







ในคู่มือนี้ เราจะพูดถึงวิธีการและเทคนิคทั้งหมดที่เราสามารถใช้เพื่อลบเลขศูนย์นำหน้าภายในชุดข้อมูล SQL



การตั้งค่าข้อมูลตัวอย่าง

ก่อนที่เราจะเจาะลึกแอปพลิเคชันและตัวอย่าง ให้เราเริ่มต้นด้วยการตั้งค่าชุดข้อมูลพื้นฐานที่จะช่วยสาธิตการเกิดเลขศูนย์นำหน้า



พิจารณาตารางของพนักงานที่มีข้อมูลดังต่อไปนี้:





สร้างตาราง พนักงาน (
รหัสพนักงาน VARCHAR(10)
-
แทรกลงในค่าพนักงาน (EmployeeID)
('00123'),
('00456'),
('00789')
('01012')
('01567');

ในกรณีนี้ รหัสพนักงานจะเป็นประเภท 'varchar' อย่างไรก็ตาม ค่าดังกล่าวมีเลขศูนย์นำหน้า

ให้เราสำรวจวิธีการที่เราสามารถใช้เพื่อลบเลขศูนย์นำหน้าเหล่านี้



การใช้ฟังก์ชัน CAST

วิธีหนึ่งในการลบเลขศูนย์นำหน้าคือการแปลงสตริงให้เป็นประเภทตัวเลข เราสามารถใช้ฟังก์ชันเช่น CAST หรือ CONVERT() ดังแสดงในตัวอย่างต่อไปนี้:

เลือกนักแสดง (EmployeeID AS INT) เป็น EmployeeIDWithoutZeros
จากพนักงาน;

สิ่งนี้ควรทำงานโดยอัตโนมัติในฐานข้อมูลที่รองรับฟังก์ชัน cast()

อย่างไรก็ตาม ในฐานข้อมูล เช่น MySQL คุณอาจต้องย้ายฟังก์ชันไปยังฟังก์ชัน Trim เพื่อลบเลขศูนย์นำหน้าออก จากนั้น คุณสามารถแปลงค่าเป็นประเภทตัวเลขได้ดังแสดงในตัวอย่างต่อไปนี้:

เลือกนักแสดง (TRIM (นำ '0' จากรหัสพนักงาน) ตามที่ลงนาม) เป็นรหัสพนักงานโดยไม่มีศูนย์
จากพนักงาน;

ผลลัพธ์ที่ได้จะเป็นดังนี้:

การใช้ฟังก์ชัน LTIM

วิธีการทั่วไปและมีประสิทธิภาพที่สุดที่คุณสามารถใช้เพื่อลบศูนย์นำหน้าใดๆ ได้คือการใช้ฟังก์ชัน LTRIM() ฟังก์ชันนี้ช่วยให้เราสามารถลบอักขระช่องว่างนำหน้าในสตริงที่กำหนดได้

อย่างไรก็ตาม ไม่อนุญาตให้เราระบุอักขระเฉพาะที่เราต้องการลบ ในกรณีของเรา เราสามารถใช้มันได้โดยการลบเลขศูนย์นำหน้าออกจากสตริง

ตัวอย่างมีดังนี้:

เลือก LTRIM (EmployeeID, '0') เป็น EmployeeIDWithoutZeros
จากพนักงาน;

สิ่งนี้ควรลบอักขระศูนย์นำหน้าออกจากสตริง

บทสรุป

ในบทช่วยสอนนี้ เราได้สำรวจสองวิธีหลักที่เราสามารถใช้เพื่อลบอักขระศูนย์นำหน้าออกจากสตริง/คอลัมน์ที่กำหนด