访问不会按总价值排序货币- SQL -排名



这可能是一个简单的问题,但令人惊讶的是,我没有找到适合这里的任何内容。我做了一个查询,其中我将数字格式化为货币。具体来说:

Format((Sum([CombineTables].[Total Extended Price])),'Currency')

现在当我尝试在Access上排序时它会这样做:

$9,994,340.95
$9,200.50
$9.75
$8,000,0000.00
$4,000
$1,000,000,000.00

我想通过SQL对这些进行排序,我认为排序是最简单的方法。你知道如何纠正这个问题,输出仍然需要在货币格式。

提前感谢

看起来像我对待/排序它作为一个字符串,你应该为Sum([CombineTables].[Total Extended Price])添加另一个'列'并对其进行排序。在查询设计器中,您可以选中/取消选中一个框,以便在输出iirc

中显示它

好吧,一个选择是order by原始值:

order by Sum([CombineTables].[Total Extended Price])

如果因为某些原因你不能这样做所有的东西都有相同的格式,使用这个技巧:

order by len(TotalExtendedPrice), TotalExtendedPrice

(或其他列)。

你可以用这个技巧来处理小数:

order by len(TotalExtendedPrice) - iif(TotalExtendedPrice like '*.*',  3, 0),
         TotalExtendedPrice

相关内容

  • 没有找到相关文章

最新更新