Как округлить все числа с запятой?
Есть таблица, как выглядит сейчас. Столбец answer имеет тип данных nvarchar
| answer | c_num_value |
|---|---|
| 9.037 | null |
| 9 | 9 |
| Текст | null |
Код:
case when ISNUMERIC(Replace(Replace(answer,'.',''),'-','')) = 1 and LEN(answer) < 3 then
CAST(round(answer, 0) as numeric(18,0))
end as c_num_value
Пытаюсь сделать, чтобы результат был таким:
| answer | c_num_value |
|---|---|
| 9.037 | 9 |
| 9 | 9 |
| Текст | null |
Ответы (1 шт):
Автор решения: sk1p96
→ Ссылка
Не увидел, что len < 3, хотя длина answer = 5.
case when ISNUMERIC(Replace(Replace(answer,'.',''),'-','')) = 1 and LEN(answer) < 6 then
CAST(round(answer, 0) as numeric(18,0))
end as c_num_value