ฉันกำลังพยายามเข้าร่วม 2 ตาราง แต่ปัญหาของฉันคือตารางหนึ่งมีตัวเลข 10 หลัก และอีกตารางหนึ่งอาจมีตัวเลข 10 หลักหรือน้อยกว่า ด้วยเหตุนี้ ฉันจึงสูญเสียข้อมูลบางส่วน ดังนั้นฉันต้องการตรวจสอบความยาวก่อน หากความยาวน้อยกว่า 10 หลัก ฉันต้องการเพิ่มศูนย์นำหน้าเพื่อให้เป็นตัวเลข 10 หลัก ฉันต้องการทำสิ่งนี้เมื่อฉันเข้าร่วม ดังนั้นฉันจึงไม่แน่ใจว่าจะเป็นไปได้หรือไม่ นี่คือตัวอย่างหากฉันมี 251458 ใน TABLE_WITHOUT_LEADING_ZERO ฉันก็อยากจะเปลี่ยนดังนี้: 0000251458 นี่คือสิ่งที่ฉันมีจนถึงตอนนี้:
select ACCT_NUM, H.CODE
FROM TABLE_WITH_LEEDING_ZERO D, TABLE_WITHOUT_LEADING_ZERO H
WHERE substring(D.ACCT_NUM from position('.' in D.ACCT_NUM) + 2) = cast (H.CODE as varchar (10))
ขอบคุณ
select lpad('12345', 10, '0000000000')
- person Kaf   schedule 01.11.2013select lpad('12345', 10, '0');
- person steviethecat   schedule 03.11.2015