我搜索了整个Stack Overflow站点,找不到一条关于使用MySQL确定浮点数的正确部分的帖子。
假设我有一个浮点数,例如3.1416。我只需要一个将返回1416的MySQL函数。
我尝试使用MySQL的SUBSTRING
功能,但问题是:这个解决方案不是动态的。
假设,对于名为constant_value
的表中名为Physics
的列,我使用以下查询:
SELECT SUBSTRING(constant_value, 2) FROM Physics
对于3.1416,它将返回1416,但对于21.436,它将返回1.436。但我希望它返回436。
修改
尝试了Andrew Morton和Rafiq Vai的解决方案。两者都返回相同的输出。
似乎我无法在问题中解释我的问题。这不是我正在寻找的尾数。它是我想要的小数点右边的文本。
如果constant_value
= 3.1416,我想要一个将返回1416而不是0.1416的MySQL函数。 Andrew和Rafiq Vai的解决方案给了我0.1416,而我正在寻找1416。
答案 0 :(得分:2)
SELECT abs(constant_value)-floor(abs(constant_value)) FROM Physics
答案 1 :(得分:2)
从MySQL 3.23.51开始(因为,从该版本开始,该函数实际上向零舍入),您可以使用TRUNCATE函数:
SELECT constant_value - TRUNCATE(constant_value, 0) FROM Physics