ฉันพบปัญหาทางคณิตศาสตร์มากเกินไปในคำสั่ง SELECT แบบง่าย ข้อความค้นหาดังต่อไปนี้เช่น
SELECT [SaleValue] FROM Sales
[SaleValue]เป็นประเภทข้อมูลdecimal(9,0)ไม่ใช่คอลัมน์ที่คำนวณ
decimal(10,0)เหตุผลที่เกิดขึ้นนี้เป็นเพราะอย่างใดคอลัมน์มีแถวที่สนามนี้ได้รับการจัดเก็บค่าที่มากกว่าประเภทข้อมูลที่ระบุเช่น
ฉันจะได้รับเลือกให้ทำงานเมื่อฉันเพิ่มขนาดของคอลัมน์ ตารางที่มีปัญหามีสองอินสแตนซ์อื่นในคอลัมน์และแถวอื่น ๆ ที่สอง
สถานการณ์นี้เป็นไปได้อย่างไร ค่านอกช่วงถูกบันทึกไว้ในคอลัมน์ตั้งแต่แรกอย่างไร
ฉันใช้เซิร์ฟเวอร์ Microsoft SQL + นี่คือตารางพื้นฐานไม่ใช่มุมมอง
decimal- a decimal(9,0)ควรมีขนาด5 ไบต์และdecimal(10,0)9 ดังนั้นฉันคิดว่ามันมีโอกาสน้อยที่คุณสามารถทำได้ผ่านการแก้ไขตารางระบบเนื่องจากคุณไม่มี ขนาดที่เก็บข้อมูลที่ถูกต้องสำหรับข้อมูลในแต่ละแถว