Sql server 关于SQL算术函数的问题
你能告诉我我做错了什么吗?尝试在SQLServer2005Sql server 关于SQL算术函数的问题,sql-server,sql-server-2005,Sql Server,Sql Server 2005,你能告诉我我做错了什么吗?尝试在SQLServer2005SELECT语句中使用减法。这里有一些语法错误 isnull(dbo.udf_GetInventory(ga.sku,@date4),0) * costprice - isnull(dbo.udf_GetInventory(ga.sku,@date3),0) * costprice as date2_diff 如果出现以下情况,则此处不存在语法错误: 您将语句放在SELECT。。。来自佐治亚州 ga是一个表,其中包含某些数字数据类
SELECT
语句中使用减法。这里有一些语法错误
isnull(dbo.udf_GetInventory(ga.sku,@date4),0) * costprice -
isnull(dbo.udf_GetInventory(ga.sku,@date3),0) * costprice as date2_diff
如果出现以下情况,则此处不存在语法错误:
如果出现以下情况,则此处不存在语法错误:
不确定是否有语法错误,但假设udf_GetInventory是非确定性的,则每次都会得到0…不确定是否有语法错误,但是假设udf_GetInventory是不确定的,那么每次都会得到0…错误是什么?你的意思是有两个不同的@date变量吗?为什么不用0替换所有这些?这就是结果。即使操作顺序可能是正确的,出于维护原因,最好使用括号,以便将来的维护人员知道您想要的顺序。select(isnull(dbo.udf\u GetInventory(ga.sku,@date4),0)*costprice)-(isnull(dbo.udf\u GetInventory(ga.sku,@date3),0)*costprice)是我期望您要做的,但不确定。错误是什么?您的意思是有两个不同的@date变量吗?为什么不将所有这些都替换为0?这就是结果。即使操作顺序可能是正确的,出于维护原因,最好使用括号,以便将来的维护人员知道您想要的顺序。选择(isnull(dbo.udf\u GetInventory(ga.sku,@date4),0)*costprice)-(isnull(dbo.udf\u GetInventory(ga.sku,@date3),0)*costprice)是我期望您会选择的,但不确定。