Вопрос касательно арифметических функций SQL - PullRequest
0 голосов
/ 04 февраля 2011

Можете ли вы сказать мне, что я здесь делаю не так?Попытка использовать вычитание здесь в выражении SQL Server 2005 SELECT.Здесь есть какая-то синтаксическая ошибка.

isnull(dbo.udf_GetInventory(ga.sku,@date4),0) * costprice - 
isnull(dbo.udf_GetInventory(ga.sku,@date3),0) * costprice  as  date2_diff

Ответы [ 2 ]

4 голосов
/ 04 февраля 2011

Здесь нет синтаксической ошибки, если:

  1. Вы помещаете утверждение в SELECT ... от ga.
  2. ga - это таблица, в которой есть столбцы sku и costprice некоторого числового типа данных.
  3. У вас есть скалярная функция с именем udf_getinventory, которая принимает два параметра.
  4. Тип данных первого параметра в udf_getinventory соответствует типу данных ga.sku.
  5. Тип данных второго параметра соответствует типу данных @ date3.
  6. udf_getinventory возвращает некоторый числовой тип данных.
  7. @ Date3 объявляется перед оператором SELECT.
  8. @ Date4 объявляется перед оператором SELECT.
0 голосов
/ 04 февраля 2011

Не уверен насчет синтаксической ошибки, но предполагая, что udf_GetInventory недетерминирован, вы будете каждый раз получать 0 ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...