1

我对货币转换逻辑有疑问。目前,我们返回一个包含许多货币字段的结果集。现在,要求说用户应该可以选择输出货币格式

例如:

账户名 | 实际金额 | 估计金额 | 目标金额
XYZ | 2000 美元 | 456.78 美元 | 890.45 美元
美国广播公司 | 标清 2000 | 标清 456.78 | 标清 890.45

如果用户现在选择日元作为输出格式,结果集应该是

账户名 | 实际金额 | 估计金额 | 目标金额
XYZ | ¥ 2233 | ¥ 42356.78 | ¥ 82390.45
美国广播公司 | ¥ 21213000 | ¥ 41156.78 | ¥ 82390.45

汇率是可用的,我知道我们可以在 select 语句中调用函数来转换货币列。但是,对每条记录进行函数调用会增加执行时间。

是否有任何其他逻辑可用于改善执行时间。

4

1 回答 1

0

当您使用函数进行转换时,您必须知道对于每条记录,该函数都将被执行。因此,当仅查看执行函数的开销时,您将拥有与记录一样多的执行。

您可以更好地制作一个转换表,将转换率放入其中,然后加入该表。确保在转换率表和原始表中都有一个包含货币的列,然后就可以开始了。在 select 语句中,您输出一个公式,例如 rate*Actual Amount。

于 2013-05-19T11:43:36.350 回答