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