如何在SQL中整数的第一个字符后插入小数

时间:2019-06-10 07:32:19

标签: sql-server reporting-services ssrs-2008-r2

我正在创建一个显示学生成绩的报告,但问题是系统仅接受整数。我需要用小数显示成绩。

我尝试使用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。

3 个答案:

答案 0 :(得分:0)

尝试编辑指定列的格式设置选项(“文本框属性”)。它通常与格式化有关,而与SQL本身无关。

enter image description here

答案 1 :(得分:0)

尝试单击该字段,转到“数字”>“格式”下的“属性”窗格,将格式更改为:0.00。我输入了一些数字,这对我有用。

SSRS Properties Pane

答案 2 :(得分:0)

谢谢大家的帮助,我通过使用CAST找到了解决问题的方法

cast(cast(CRSE_GRADE_INPUT as decimal(10,2))* 0.01 as decimal(10,2))