如何使用IIf
函数编写SQL查询? 例如,我想编写这样的事:Ilf和SQL查询
SELECT priceNetto, vat,
PriceBrutto:Ilf(Country="ABC", priceNetto*1.22, priceNetto)
,但它不会编译。
PriceBrutto是一个动态列(在查询中没有该列,但我想“编译”此列以编程方式在我的示例中)。
如何使用IIf
函数编写SQL查询? 例如,我想编写这样的事:Ilf和SQL查询
SELECT priceNetto, vat,
PriceBrutto:Ilf(Country="ABC", priceNetto*1.22, priceNetto)
,但它不会编译。
PriceBrutto是一个动态列(在查询中没有该列,但我想“编译”此列以编程方式在我的示例中)。
您可以使用它像这样:
SELECT priceNetto, vat, IIf(Country='ABC', priceNetto*1.22, priceNetto) AS PriceBrutto, ...
尝试:
SELECT priceNetto,增值税,IIF(国家= “ABC”,priceNetto * 1.22,priceNetto)作为PriceBrutto ...
为主题的变化,更容易一点点跟着我的眼睛:
SELECT priceNetto, vat,
priceNetto * IIf(Country='ABC', 1.22, 1) AS PriceBrutto,
...
注意,数据T表达式结果的类型将根据Country
的值而改变,这有点奇怪。如果Country = 'ABC'
那么结果几乎肯定会被强制输入DECIMAL
。这是你的意图吗?可能是的:听起来就像你正在申请税,Access Database Engine的DECIMAL
类型展品的截尾是四舍五入的,与税务局一样;其他类型显示银行家的舍入,这可能不是我的经验中税收的正确舍入算法。
但是,如果您不想要DECIMAL
结果,则需要明确地将结果或乘数转换为所需的类型。
作品!非常感谢! – Dariusz 2009-11-05 16:11:09
@dario,我很高兴我能帮忙:-) – 2009-11-05 16:16:57