ตามชื่อเรื่อง ฉันได้ลองแล้วSELECT CONVERT(NUMERIC, 1/2)
ซึ่งก็ส่งกลับ 0
ฉันใช้ SQL Server 2008
ตามชื่อเรื่อง ฉันได้ลองแล้วSELECT CONVERT(NUMERIC, 1/2)
ซึ่งก็ส่งกลับ 0
ฉันใช้ SQL Server 2008
คำตอบ:
พวกมันเป็นจำนวนเต็ม
ลอง:
select 1.0/2.0;
หรือ:
select CONVERT(NUMERIC,1)/CONVERT(NUMERIC,2);
ก่อนอื่นคุณกำลังเรียกใช้ตัวเลขเป็นจำนวนเต็ม แต่ที่สองคุณยังไม่ได้กำหนดความแม่นยำและมาตราส่วนของประเภทข้อมูลตัวเลข
ลองสิ่งนี้:
SELECT CONVERT(NUMERIC(5, 2), 1.0/2.0)
หรือแม้กระทั่ง
SELECT CONVERT(NUMERIC(5, 2), 1/2.0)