Jim Hogg ของ Microsoft ได้ตอบปัญหานี้แล้วดังนี้
มีข้อดีและข้อเสีย ด้านโปรดูเหมือนว่าจะเป็นวิธีที่ดีในการหลีกเลี่ยงข้อผิดพลาดบางอย่างโดยต้องตรวจสอบ int (ที่ลงชื่อ) มีค่า> 0 และฉันก็อยากจะใช้การใช้ int จำนวนมากในความเป็นจริงที่เกี่ยวข้องกับการนับ . คำถามเกี่ยวกับการเพิ่มจำนวนแถวสูงสุดเป็นสองเท่า? - จริง แต่ฉันจะบอกว่านี่น่าสนใจน้อยกว่า
ด้านข้อเสีย ... การผสมประเภทที่มีลายเซ็น / ไม่ได้ลงนามใน C หรือ C ++ ดูเหมือนว่ามันควรจะง่ายพอ มันไม่ใช่. มันเปิด tarpit ขนาดเล็กของข้อผิดพลาดที่หายาก - ส่วนใหญ่เนื่องจากกฎที่ซับซ้อนสำหรับโปรโมชั่น / widen นัย SQL, อนิจจา, มีชุดกฎการคัดเลือกที่ซับซ้อนยิ่งขึ้น ฉันกลัวว่าการเพิ่ม ints ที่ไม่ได้ลงนามจะทำให้พวกเราสับสนมากยิ่งขึ้น
ฉันจะเก็บคำแนะนำนี้ไว้ในหนังสือ แต่ในบรรดาคุณสมบัติทั้งหมดที่เราสามารถทำได้ / ควรจะเพิ่มอันนี้ด้วยความเคารพไม่ใกล้ด้านบนของรายการนั้น
ที่มา: Microsoft Connect
ฉันจะเพิ่มอย่างมากในรายการโปรและย้ำว่าเครื่องยนต์ SQL ของพวกเขากำลังทำสิ่งที่ซับซ้อนกว่านี้อยู่แล้วและทีมของพวกเขาสามารถจัดการกับความซับซ้อนที่เพิ่มขึ้นได้ ในขณะที่ผมไม่เห็นด้วยกับผลรวมของพวกเขานี้คือทำไม SQL Server ไม่สนับสนุนประเภทที่ไม่ได้ลงชื่อ
ลิงค์ Connect เดิมโพสต์โดยMartin Smithในความคิดเห็นคำถาม