关于SQL算术函数的问题

时间:2011-02-04 14:27:48

标签: sql-server sql-server-2005

你能告诉我在这里做错了什么吗?尝试在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 个答案:

答案 0 :(得分:4)

如果出现以下情况,则没有语法错误:

  1. 您将声明放入SELECT ... from ga。
  2. ga是一个包含sku列和某些数值数据类型的costprice的表。
  3. 你有一个名为udf_getinventory的标量值函数,它有两个参数。
  4. udf_getinventory的第一个参数的数据类型与ga.sku的数据类型匹配。
  5. 第二个参数的数据类型与@ date3的数据类型匹配。
  6. udf_getinventory返回一些数字数据类型。
  7. @ Date3在SELECT语句之前声明。
  8. @ Date4在SELECT语句之前声明。

答案 1 :(得分:0)

不确定语法错误,但假设udf_GetInventory是非确定性的,那么每次都会得到0 ...