У меня есть десятичные числа, как в таблице ниже, я пытаюсь преобразовать их в десятичные, потому что, когда я их выбираю, они получаются целыми, например, в строке 1, если я выбираю 0,8 или 2,86, это даст мне 0 или 2 соответственно
Я использую следующее утверждение
select ELERENVPR, ELEDCSFPM from db-name
я пытался преобразовать его
select cast(ELERENVPR, decimal), cast(ELEDCSFPM,decimal) from db-name
Я не уверен, работает ли он, потому что теперь он переименовывает таблицу в 00001 и 00002, как на картинке ниже
Всякий раз, когда вы помещаете столбец в любой функцию (включая CAST), он больше не является исходным столбцом, и поэтому ты необходимо присвоить результату выражения имя столбца ... SELECT cast(ELERENVPR, decimal(10,2)) AS newELERENVPR ...


decimal без параметров масштаба или точности имеет значения по умолчанию, которые могут иметь нулевую точность.
Вы должны четко заявить о том, чего хотите. Я бы порекомендовал что-то вроде decimal(10, 2) (8 цифр до десятичной точки, 2 после). Что-то вроде этого:
select cast(ELERENVPR, decimal(10, 2)) as ELERENVPR,
cast(ELEDCSFPM, decimal(10, 2)) as ELEDCSFPM
from db-name ;
as переименовывает столбцы.
Отметьте используемую базу данных.