Sql server 2008 无法删除文本框SSRS中的小数点
我正在使用显示学生成绩的SSRS报告。我需要显示已经四舍五入到最接近整数的分数,我同意。但是我想知道为什么即使分数已经四舍五入,并且我已经将文本框属性设置为0个小数位,小数位仍然会出现。我注意到它是在我使用cast时开始的。有什么问题?因为我的身体状况,我需要评分。请参阅下面的sql语法和图像 我使用了MSSQL Server 2008和报表生成器3.0 r2 下面是我在获取学生成绩时使用的sql语法Sql server 2008 无法删除文本框SSRS中的小数点,sql-server-2008,reporting-services,ssrs-2008,reportbuilder3.0,Sql Server 2008,Reporting Services,Ssrs 2008,Reportbuilder3.0,我正在使用显示学生成绩的SSRS报告。我需要显示已经四舍五入到最接近整数的分数,我同意。但是我想知道为什么即使分数已经四舍五入,并且我已经将文本框属性设置为0个小数位,小数位仍然会出现。我注意到它是在我使用cast时开始的。有什么问题?因为我的身体状况,我需要评分。请参阅下面的sql语法和图像 我使用了MSSQL Server 2008和报表生成器3.0 r2 下面是我在获取学生成绩时使用的sql语法 ,(CASE when dtl.STUDENT_GRADE < 1 or dtl
,(CASE
when dtl.STUDENT_GRADE < 1 or dtl.STUDENT_GRADE is null Then '-' Else
CAST(dtl.STUDENT_GRADE AS nvarchar(20))end) as GRADE
,(案例)
当dtl.STUDENT_成绩<1或dtl.STUDENT_成绩为空时,则为“-”Else
铸造(dtl.STUDENT_年级为nvarchar(20))结束)为年级
这是文本框中的报告外观和我的设置。请看图片
尝试将类别设置为“自定义”,然后将“自定义格式”设置为
N0
我找到了问题的解决方案,因为cast给了我小数点的问题,我更改了条件,如果分数为空或小于1,则将学生的分数设置为0。然后,如果值为0,我将文本框属性设置为显示(-)
谢谢你的帮助,这给了我一个解决问题的办法 您的报告获取的
nvarchar
字段不是数字。尝试将dtl.STUDENT\u GRADE
转换为int,然后再转换为varchar
它将返回原始的成绩值。ex90.750。