【问题标题】:Remove Decimal Places with Access SQL Query使用 Access SQL 查询删除小数位
【发布时间】:2009-09-15 23:59:03
【问题描述】:

我正在与 MS Access 一起做一些数学运算。我正在获取成本并将其除以十进制值以获得价格。我正在使用链接表和访问 sql 查询。

SQL 例子

Select (cost/markup) As Price From T_Cost;

计算示例。 1234 / .55 = 2243.6363 1000 / .50 = 2000

我正在尝试找出一种方法来删除小数位,当有小数时和没有小数时都可以使用。

我正在考虑在我的 Access SQL 中做这样的事情:

Mid("2243,6363", 0, Instr("2243,6363","."))

但如果没有小数位,这将不起作用。

【问题讨论】:

    标签: sql ms-access decimal


    【解决方案1】:

    使用圆形。这就是它的设计目的。不过我很好奇。你为什么不想要美分?

    【讨论】:

    • 仅供参考,Access 中的 Round 函数使用“Banker's Rounding”。
    • 我使用的数字格式类似于日元,所以没有美分。像 150 日元将是 1.50 美元。
    • 好的,那你就不用担心小数位了。但是,在我看来,您仍然应该使用 Round 而不是 Int,因为这样总体上会更准确。
    【解决方案2】:

    删除小数点后的数字:

    Int(number)
    

    或者在你的情况下

    Int(cost/markup)
    

    新的 SQL 是:

    Select Int(cost/markup) As Price From T_Cost;
    

    【讨论】:

    • 我将字段名称包装在 int() 中并且有效,但是它将字段名称更改为 `expr1003"
    • @bgmCoder Int(cost/Markup) as NameThatYouWant。看上面的第三个例子。
    猜你喜欢
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多