สาเหตุของปัญหานี้กับ CONVERT () คืออะไร
พิจารณาสองข้อความต่อไปนี้: PRINT CONVERT(NUMERIC(38, 0), 0x0100000001, 0); PRINT CONVERT(NUMERIC(38, 0), 0x0100010001, 0); ทั้งสองงบกลับ-1; ไม่ถูกต้องเนื่องจากค่าไบนารีที่สองเป็นทศนิยม 65,536 สูงกว่าค่าแรกใช่หรือไม่ แน่นอนสิ่งนี้ไม่สามารถเกิดขึ้นได้เนื่องจากการตัดทอนเงียบ ถ้าฉันเรียกใช้คำสั่งต่อไปนี้: PRINT CONVERT(NUMERIC(38, 0), 0x00000001, 0); PRINT CONVERT(NUMERIC(38, 0), 0x00010001, 0); ฉันพบข้อผิดพลาดต่อไปนี้: Msg 8114, Level 16, State 5, Line 1 Error converting data type varbinary to numeric. ฉันจะวินิจฉัยสิ่งที่เกิดขึ้นที่นี่ได้อย่างไร ฉันใช้สิ่งนี้ใน SQL Server 2012, v11.0.5058 ผลลัพธ์จะเหมือนกันใน …