คำถามติดแท็ก decimal

3
แปลงค่าตัวเลขสตริงด้วยเครื่องหมายจุลภาคเป็นตัวคั่นทศนิยมเป็น NUMERIC (10, 2)
ฉันมีตาราง SQL ของคอลัมน์ varchar ซึ่งมีตัวเลขที่จัดรูปแบบกรีก (. เป็นตัวคั่นหลักพันและเครื่องหมายจุลภาคเป็นตัวคั่นทศนิยม) การแปลงแบบคลาสสิก CONVERT(numeric(10,2),REPLACE([value],',','.')) ไม่ทำงานเพราะ (ตัวคั่นหลักพัน) ฆ่าการแปลง เช่นลอง CONVERT(numeric(10,2),REPLACE('7.000,45',',','.')) ฉันต้องการแปลงค่าดังกล่าวเป็นตัวเลข (10,2) ข้อเสนอแนะใด ๆ ของวิธีการจัดการมันได้หรือไม่

3
การปัดเศษทศนิยมอัตโนมัติ
คำถามนั้นค่อนข้างง่าย ฉันต้องการคำนวณ 3 คอลัมน์ที่ผลลัพธ์กลางคือทศนิยมมากและฉันพบปัญหาในช่วงต้นกับ SQL Server โดยทั่วไปการปัดเศษทศนิยมโดยไม่คำนึงถึงการแปลง / แปลงใด ๆ ตัวอย่างเช่นลองทำหารง่าย ๆ เป็น 1234/1233 เครื่องคิดเลขจะผลิต 1,00081103000811 แต่เมื่อฉันทำเช่นนี้บน SQL Server เราได้รับต่อไปนี้: -- Result: rounded at 1.000811000... with trailing zeroes up until the 37 precision SELECT CAST(CAST(1234 AS DEC(38,34))/CAST(1233 AS DEC(38,34)) AS DEC(38,37)) -- Result: rounded at 1.000811 SELECT CONVERT(DECIMAL(38,32), 1234)/CONVERT(DECIMAL(38,32),1233) -- …

2
ปัญหาเกี่ยวกับการรวมเลขจำนวนเต็มถึงจำนวน (ทศนิยม)
ฉันมีสถานการณ์นี้ดูเหมือนว่า MySQL ใช้ค่าทศนิยมที่ใหญ่ที่สุดและพยายามที่จะแปลงค่าอื่น ๆ ปัญหาคือว่าแบบสอบถามนี้สร้างขึ้นโดยห้องสมุดภายนอกดังนั้นฉันจึงไม่สามารถควบคุมรหัสนี้ได้ในระดับนี้อย่างน้อย คุณมีความคิดในการแก้ไขปัญหานี้หรือไม่? SELECT 20 AS x UNION SELECT null UNION SELECT 2.2; +------+ | x | +------+ | 9.9 | -- why from 20 to 9.9 | NULL | | 2.2 | +------+ ผลลัพธ์ที่คาดหวัง +------+ | x | +------+ | 20 | -- or 20.0, doesn't …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.