avatar
MSSQL Power Function# Database - 数据库
B*L
1
下面这个query(其中B是个长公式),column3 就是 column1 乘以 column2,
SQL server总是给我0.
SELECT
A
,POWER(cast(10 as dec(38,20)),B)
,A*POWER(cast(10 as dec(38,20)),B)
FROM TABLE_A
result:
8694 0.00000000003548134000 0.00000000000000000000
2103 0.00000000003981072000 0.00000000000000000000
对column3,我试过以下几种办法,都不行。
,CAST(A as dec(38,20))*POWER(cast(10 as dec(38,20)),B)
,CAST(A as dec(38,20))*CAST(A POWER(cast(10 as dec(38,20)),B) as dec(38,20))
,CAST(CAST(A as dec(38,20))*CAST(A POWER(cast(10 as dec(38,20)),
avatar
B*L
2

Solved:
cast(A as float)*POWER(cast(10 as dec(38,20)),B)

【在 B*********L 的大作中提到】
: 下面这个query(其中B是个长公式),column3 就是 column1 乘以 column2,
: SQL server总是给我0.
: SELECT
: A
: ,POWER(cast(10 as dec(38,20)),B)
: ,A*POWER(cast(10 as dec(38,20)),B)
: FROM TABLE_A
: result:
: 8694 0.00000000003548134000 0.00000000000000000000
: 2103 0.00000000003981072000 0.00000000000000000000

avatar
j*n
3
you probably want do the CAST(A as dec(38,20)) as well. Since converting to
float may give you some exceptional numbers. Just my 2 cents.

【在 B*********L 的大作中提到】
:
: Solved:
: cast(A as float)*POWER(cast(10 as dec(38,20)),B)

avatar
B*L
4
Thanks.
I don't know why, but CAST(A as dec(38,20)) gives me 0.00000000000
Only float works.

to

【在 j*****n 的大作中提到】
: you probably want do the CAST(A as dec(38,20)) as well. Since converting to
: float may give you some exceptional numbers. Just my 2 cents.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。