Как вставить десятичную дробь после первого символа в целом числе в SQL - PullRequest
1 голос
/ 10 июня 2019

Я создаю отчет, в котором отображаются оценки учеников, но проблема в том, что система принимает только целые числа. И мне нужно отображать оценки с десятичной дробью.

Я пытался использовать CONVERT (десятичное (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 голосов
/ 10 июня 2019

Попробуйте щелкнуть по полю, перейдите на панель свойств и в разделе Число> Формат, изменив формат на: 0,00.Я ввел несколько цифр, и это работало на меня.

Панель свойств SSRS

0 голосов
/ 13 июня 2019

Спасибо, ребята, за помощь, я нашел решение моей проблемы с помощью CAST

cast(cast(CRSE_GRADE_INPUT as decimal(10,2))* 0.01 as decimal(10,2))
0 голосов
/ 10 июня 2019

Попробуйте изменить параметры форматирования (Свойства текстового поля) указанного столбца.Обычно это связано с форматированием, а не с самим SQL.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...