【问题标题】:Operand data type float is invalid for '^' operator操作数数据类型浮点数对于“^”运算符无效
【发布时间】:2017-06-15 07:43:30
【问题描述】:

我正在搜索浮点类型限制,但我找不到^ 操作数的任何帖子。

我有一个小数学短语:

((@IntVar*((@FloatVar*1)/1200))*((1+((@FloatVar*1)/1200))^@IntValr))/(((1+((@FloatVar*1)/1200))^@IntVar)-1);

并且 SQL 引发错误:

^ 运算符中的数据类型 float 和 int 不兼容。

在那之后,我改变了变量类型和新的公式:

((@IntVar*((@FloatVar*1)/1200))*((1+((@FloatVar*1)/1200))^@FloatValr))/(((1+((@FloatVar*1)/1200))^@FloatVar)-1);

但是 SQL 再次引发错误:

操作数数据类型 float 对于 ^ 运算符无效。

我的第一个问题是,如何解决这个错误?
之后,有人知道浮点或小数类型的操作数限制吗?

【问题讨论】:

  • 我最好的猜测是 ^ 不会像你猜的那样做 Opertators ;)
  • 您是否尝试使用^ 作为幂运算符?
  • @KevinEsche,为什么它不起作用?这是一个简单的公式。你能解释一下吗?
  • @Ali.azimi 但一个简单的公式很少使用按位异或
  • @Ali.azimi - 其他人试图告诉你的是你正在寻找POWER。仅仅因为您熟悉另一种语言,其中^ 是求幂运算符,这并不意味着您使用的每种 编程语言都必须为该字符分配相同的含义。跨度>

标签: sql sql-server operands


【解决方案1】:

如果你想使用指数函数,你必须使用强大的 SQL SERVER 函数。

here

【讨论】:

  • 是的。正如你和其他朋友所说,这是对SQL语言及其运算符的误解。
猜你喜欢
  • 2021-11-29
  • 2012-08-01
  • 1970-01-01
  • 2017-01-24
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多