Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL SERVER 2012中使用POWER()函数导致将表达式转换为数据类型float时出现算术溢出错误_Sql_Tsql_Math_Sql Server 2012 - Fatal编程技术网

在SQL SERVER 2012中使用POWER()函数导致将表达式转换为数据类型float时出现算术溢出错误

在SQL SERVER 2012中使用POWER()函数导致将表达式转换为数据类型float时出现算术溢出错误,sql,tsql,math,sql-server-2012,Sql,Tsql,Math,Sql Server 2012,我试图进行以下计算: DECLARE @X Decimal(18,6); DECLARE @Y Decimal(20,16); SET @X = 0.002700; SET @Y = 0.0027770000000000; SELECT 200 * ( POWER(@Y, ( -1 / ( 2 * @X ))) - 1 ); 然而,这导致: Msg 8115,16级,状态2,第7行 将表达式转换为数据类型浮点时出现算术溢出错误 我试过让它漂浮,但没有用 你知道我这里缺少什么吗?浮点数据类型

我试图进行以下计算:

DECLARE @X Decimal(18,6);
DECLARE @Y Decimal(20,16);

SET @X = 0.002700;
SET @Y = 0.0027770000000000;

SELECT 200 * ( POWER(@Y, ( -1 / ( 2 * @X ))) - 1 );
然而,这导致:

Msg 8115,16级,状态2,第7行
将表达式转换为数据类型浮点时出现算术溢出错误

我试过让它漂浮,但没有用


你知道我这里缺少什么吗?

浮点数据类型可以存储大约1.79E+308的最大值,但是这个表达式的结果大约是5.16E+475。请参见

浮点数据类型可以存储约1.79E+308的最大值,但此表达式的结果约为5.16E+475。请参见

浮点数据类型可以存储约1.79E+308的最大值,但此表达式的结果约为5.16E+475。请参见

浮点数据类型可以存储约1.79E+308的最大值,但此表达式的结果约为5.16E+475。请参见

可能有办法做到这一点。您正在尝试计算
@y幂(-1/2*@x)
。这相当于计算e功率(对数(y)*(-1/2x))

你可以算作

select 200 * POWER(2.718281828, log(@Y) * (-1/(2*@X)))

请注意,
LOG
默认情况下计算数字的自然对数。而
e
=2.718281828

可能有办法做到这一点。您正在尝试计算
@y幂(-1/2*@x)
。这相当于计算e功率(对数(y)*(-1/2x))

你可以算作

select 200 * POWER(2.718281828, log(@Y) * (-1/(2*@X)))

请注意,
LOG
默认情况下计算数字的自然对数。而
e
=2.718281828

可能有办法做到这一点。您正在尝试计算
@y幂(-1/2*@x)
。这相当于计算e功率(对数(y)*(-1/2x))

你可以算作

select 200 * POWER(2.718281828, log(@Y) * (-1/(2*@X)))

请注意,
LOG
默认情况下计算数字的自然对数。而
e
=2.718281828

可能有办法做到这一点。您正在尝试计算
@y幂(-1/2*@x)
。这相当于计算e功率(对数(y)*(-1/2x))

你可以算作

select 200 * POWER(2.718281828, log(@Y) * (-1/(2*@X)))

请注意,
LOG
默认情况下计算数字的自然对数。而
e
=2.718281828

也不起作用。我发现@y的值是错误的。然而,tSQL POWER()函数的限制仍然存在,这也不起作用。我发现@y的值是错误的。然而,tSQL POWER()函数的限制仍然存在,这也不起作用。我发现@y的值是错误的。然而,tSQL POWER()函数的限制仍然存在,这也不起作用。我发现@y的值是错误的。但是,tSQL POWER()函数的限制仍然存在。