Тип данных операнда float недопустим для оператора '^'

Я ищу ограничение типа Float, но не могу найти сообщения для операнда ^.

У меня есть небольшая математическая фраза:

((@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 недопустим для оператора ^.

Мой первый вопрос: как решить эту ошибку?
и после этого кто-нибудь знает ограничение операндов для типов с плавающей запятой или десятичных чисел?


person Ali.azimi    schedule 30.01.2017    source источник
comment
я думаю, что ^ не делает то, что вы предполагаете операторы< /а> ;)   -  person SomeJavaGuy    schedule 30.01.2017
comment
Вы пытаетесь использовать ^ в качестве оператора возведения в степень?   -  person Mureinik    schedule 30.01.2017
comment
@KevinEsche, почему это не работает? это простая формула. не могли бы вы объяснить мне?   -  person Ali.azimi    schedule 30.01.2017
comment
@Ali.azimi, но в простой формуле редко используется побитовое исключающее ИЛИ   -  person SomeJavaGuy    schedule 30.01.2017
comment
Что вы подразумеваете под ограничением операндов на поплавок?   -  person Shakeer Mirza    schedule 30.01.2017
comment
@Mureinik tnkx, это полезно и полезно. но для второго вопроса мне нужна причина этого. мне нужна теоретическая точка зрения.   -  person Ali.azimi    schedule 30.01.2017
comment
@Ali.azimi - другие пытаются сказать вам, что вы ищете POWER. Тот факт, что вы знакомы с другим языком, где ^ является оператором возведения в степень, не означает, что каждый язык программирования, с которым вы работаете, обязан присваивать этому символу одно и то же значение.   -  person Damien_The_Unbeliever    schedule 30.01.2017
comment
@KevinEsche, ты думаешь, что причиной этой ошибки является сложность формулы?   -  person Ali.azimi    schedule 30.01.2017
comment
@ShakeerMirza, я хочу сказать: операнд ^ не работает с числами с плавающей запятой и десятичными числами. Зачем?   -  person Ali.azimi    schedule 30.01.2017
comment
@Damien_The_Unbeliever да, ты прав. это хороший ответ. тнккс   -  person Ali.azimi    schedule 30.01.2017
comment
Просто примечание: зачем (@FloatVar*1), когда можно просто использовать @FloatVar?   -  person Zohar Peled    schedule 30.01.2017
comment
Уважаемый @ZoharPeled, это формула ссуды, и это переменная, которая изменилась с номером 1. настоящая формула — @AnnualProfit*@Distance.   -  person Ali.azimi    schedule 30.01.2017


Ответы (1)


если вы хотите использовать функцию экспоненты, вы должны использовать функцию Power SQL SERVER.

посмотрите здесь

person Esperento57    schedule 30.01.2017
comment
да. Как вы и другие друзья сказали, это неправильное понимание языка SQL и его операторов. - person Ali.azimi; 04.02.2017