เรามีตาราง SQL เก่าที่ SQL Server 2000 ใช้เป็นเวลาเกือบ 10 ปี
ในนั้นหมายเลขบัตรพนักงานของเราจะถูกเก็บเป็นchar(6)จากไป000001999999
ตอนนี้ฉันกำลังเขียนเว็บแอปพลิเคชันและต้องการจัดเก็บหมายเลขตราพนักงาน
ในตารางใหม่ของฉันฉันอาจจะใช้ตัดสั้นและคัดลอกตารางเก่า แต่ฉันหวังสำหรับการถ่ายโอนข้อมูลที่ดีกว่า, ขนาดที่เล็กกว่า ฯลฯ โดยเพียงแค่การจัดเก็บintค่าจากการ1999999
ใน C # ฉันสามารถจัดรูปแบบintค่าสำหรับหมายเลขตราได้อย่างรวดเร็วโดยใช้
public static string GetBadgeString(int badgeNum) {
  return string.Format("{0:000000}", badgeNum);
  // alternate
  // return string.Format("{0:d6}", badgeNum);
}
ฉันจะแก้ไขแบบสอบถาม SQL แบบธรรมดานี้เพื่อจัดรูปแบบค่าที่ส่งคืนด้วยได้อย่างไร
SELECT EmployeeID
FROM dbo.RequestItems
WHERE ID=0
ถ้าEmployeeIDเป็น 7135, 007135แบบสอบถามนี้ควรกลับ
FORMATฟังก์ชั่นเช่น C # :-)
                intค่านี้ใช้พื้นที่น้อยลงอย่างมากchar(6)และจะมีรายการเหล่านี้หลายรายการต่อชิ้นส่วนที่ผลิตขึ้น อย่างมีประสิทธิภาพ
                DATALENGTH()) ได้สองไบต์ เนื่องจากคอลัมน์อาจอยู่ในดัชนีคุณจึงประหยัดได้มากกว่า 2MB และเมื่อเพิ่มคอลัมน์อื่นเข้าไป 2 ไบต์นั้นอาจเพียงพอที่จะลดความยาวของแถวให้เพียงพอที่จะบันทึกหน้า 4KB ต่อแถว สิ่งนี้จะโฮสต์บนแพลตฟอร์มมือถือหรือคุณอาจมุ่งความสนใจไปที่พื้นที่ที่ไม่ก่อให้เกิดประโยชน์?
                
0s มีความสำคัญต่อข้อมูลนี้ทำไมเปลี่ยนไปยังINTที่ทั้งหมดหรือไม่