SQL:如何删除表某些列中小数点后零

SQL: How to remove the zeros after decimal point in some columns of a table

提问人:Emma 提问时间:11/14/2023 最后编辑:ShadowEmma 更新时间:11/14/2023 访问量:50

问:

sql查询的表如下。 在某些列中,数字的小数点后有太多的零。如何修改当前的sql查询,使其显示所需的表? 谢谢!

选择名称、金额Number_of_products 来自表1

名字 Number_of_products
一个 10.0000000 1.00000000000
B 123.0000000000 3.00000000000

我想要这样的桌子

名字 Number_of_products
一个 10 1
B 123 3

我应该如何更新 sql 查询? 谢谢

SQL MySQL 整数

评论

0赞 Jonas Metzler 11/14/2023
产品数量可以是十进制值吗?如果没有,最好更改该列的数据类型,而不是在查询中强制转换它。
0赞 Jonas Metzler 11/14/2023
这回答了你的问题吗?删除十进制值中长度变化的尾随零
0赞 Akina 11/14/2023
将完整的输出添加到您的问题中。我应该如何更新 sql 查询?只需在客户端中调整输出格式即可。SHOW CREATE TABLE Table1;

答:

0赞 stratov 11/14/2023 #1

您可以使用 或 .CASTROUND

SELECT 
    Name,
    CAST(amount AS INT) AS amount,
    CAST(Number_of_products AS INT) AS Number_of_products
FROM Table1
SELECT 
    Name,
    ROUND(amount, 0) AS amount,
    ROUND(Number_of_products, 0) AS Number_of_products
FROM Table1

更改为您期望的结果数据类型等。INTBIGINTSMALLINT

评论

0赞 Jonas Metzler 11/14/2023
例如,这将为 12.34 返回 12,这可能不是预期的。
0赞 stratov 11/14/2023
是的,你是对的,这仅适用于给定的输入。