Khi câu hỏi gợi ý, tôi cần làm tròn lên hoặc xuống gần 20, ngoại trừ các số từ 0-14, tất cả phải tròn đến 20, vì không có giá trị bằng 0 nào được cho phép. bảng đã không được cập nhật với values.For mới bây giờ tôi đã được quản lý chỉ làm tròn lên hoặc xuống để gần nhất 100 như bên dưới:Làm tròn lên hoặc xuống đến gần nhất 20
CASE WHEN ROUND(number,-2)=0 THEN CAST(ROUND(number,-2)+100 AS DECIMAL(18, 0))
ELSE CAST(ROUND(number,-2) AS DECIMAL(18,0)) END AS [NUMBER]
Chia cho 20.0 sẽ buộc một số dấu phẩy động. Bạn không cần phải nhiều bởi 1.0 – cadrell0
Vì vậy, về cơ bản nó là cùng một ý tưởng. Nhưng có, nó cũng có thể được viết 'ELSE ROUND (@testValue/20.0, 0) * 20'. Nếu '20' là một biến mà còn' Int' bạn sẽ yêu cầu '* 1.0' một lần nữa. – Yuck
Tôi không có bất kỳ ý tưởng tại sao đôi khi kết quả là 1 hoặc 2 (với các giá trị khác nhau btw, 19; 29; 16 vv). nhưng tôi đã sửa đổi mã với định dạng được mô tả trong câu hỏi của tôi và nó hoạt động rất tốt. Cảm ơn rất nhiều, tôi không nghĩ đến việc nhân với 1.0. – Hari