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

How to insert decimal after the first character in whole number in SQL

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

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

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

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

SSRS Properties Pane

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

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