powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тип вычисляемых полей во временной таблице
2 сообщений из 2, страница 1 из 1
Тип вычисляемых полей во временной таблице
    #32002218
Andy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!

Подскажите, каким образом можно получить поле типа decimal в вычисляемом поле временной таблицы?
При определении полей как
col1 int NOT NULL,
col2 int NOT NULL,
col3 AS (cast ((col2*10000/col1) as decimal (5,1))/100)
(и при условии что таких полей 22) запрос выдает ошибку типа Arithmetic overflow error converting numeric to data type numeric.
при этом при определении только одного поля таким образом - все тип-топ (только почему-то 6 знаков после запятой?).
Если же написать так

col3 AS (col2*100/col1)
то выдает целые числа, а нужно с точностью до второго знака (

Объясните самоучке )
...
Рейтинг: 0 / 0
Тип вычисляемых полей во временной таблице
    #32002231
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
decimal (5,1) - т.е. всего отводиться под число 5 знаков, из них один после запятой. Если col2*10000/col1 больше 9999.9 (например col1 и col2 равны 1) то естественно будет переполнение.

а я бы написал
col3 AS convert(dec(10,2),col2*100.0/col1)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тип вычисляемых полей во временной таблице
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]