Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.02.2001, 19:27
|
|||
---|---|---|---|
|
|||
Тип вычисляемых полей во временной таблице |
|||
#18+
Привет! Подскажите, каким образом можно получить поле типа 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) то выдает целые числа, а нужно с точностью до второго знака ( Объясните самоучке ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.02.2001, 10:01
|
|||
---|---|---|---|
Тип вычисляемых полей во временной таблице |
|||
#18+
decimal (5,1) - т.е. всего отводиться под число 5 знаков, из них один после запятой. Если col2*10000/col1 больше 9999.9 (например col1 и col2 равны 1) то естественно будет переполнение. а я бы написал col3 AS convert(dec(10,2),col2*100.0/col1) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=1827348]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 396ms |
0 / 0 |