我正在创建一个显示学生成绩的报告,但问题是系统仅接受整数。我需要用小数显示成绩。
我尝试使用CONVERT(decimal(10,2),@VALUE / 1000.00),但结果不是我需要的。
这是我的代码
, (CASE WHEN (SELECT TRNSFR_SRC_TYPE FROM PS_TRNS_CRSE_SCH WHERE EMPLID in (dtl.EMPLID) AND MODEL_NBR = dtl.MODEL_NBR AND ACAD_CAREER = dtl.ACAD_CAREER) = 'M' AND CRSE_ID <> '' THEN
(CASE WHEN (SELECT GRADE_POINTS FROM PS_GRADE_TBL WHERE CRSE_GRADE_INPUT = dtl.CRSE_GRADE_OFF AND GRADING_SCHEME = dtl.GRADING_SCHEME AND GRADING_BASIS = dtl.GRADING_BASIS) <> 0 THEN CONVERT(decimal(10, 2), (SELECT CAST(ROUND(GRADE_POINTS, 2) AS NUMERIC(12,2)) FROM PS_GRADE_TBL WHERE CRSE_GRADE_INPUT = dtl.CRSE_GRADE_OFF AND GRADING_SCHEME = dtl.GRADING_SCHEME AND GRADING_BASIS = dtl.GRADING_BASIS)) / 1000.00
ELSE
convert(decimal (10, 2) ,dtl.CRSE_GRADE_OFF / 1.00)
我希望输出应为1.00或1.50或5.00。如果值为500,则应输出5.00,另一个示例为150,则应显示为1.50。
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试单击该字段,转到“数字”>“格式”下的“属性”窗格,将格式更改为:0.00。我输入了一些数字,这对我有用。
答案 2 :(得分:0)
谢谢大家的帮助,我通过使用CAST找到了解决问题的方法
cast(cast(CRSE_GRADE_INPUT as decimal(10,2))* 0.01 as decimal(10,2))