Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 无法删除文本框SSRS中的小数点_Sql Server 2008_Reporting Services_Ssrs 2008_Reportbuilder3.0 - Fatal编程技术网

Sql server 2008 无法删除文本框SSRS中的小数点

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

我正在使用显示学生成绩的SSRS报告。我需要显示已经四舍五入到最接近整数的分数,我同意。但是我想知道为什么即使分数已经四舍五入,并且我已经将文本框属性设置为0个小数位,小数位仍然会出现。我注意到它是在我使用cast时开始的。有什么问题?因为我的身体状况,我需要评分。请参阅下面的sql语法和图像

我使用了MSSQL Server 2008和报表生成器3.0 r2

下面是我在获取学生成绩时使用的sql语法

,(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。