2014-11-02 103 views
-1

我搜索了整個Stack Overflow站點,找不到一篇關於使用MySQL確定浮點數的正確部分的文章。如何確定浮點數中小數點右邊的數字?

假設我有一個浮點數,如3.1416。我需要的是一個MySQL函數,它將返回1416.

我曾嘗試使用MySQL的SUBSTRING函數,但問題是:此解決方案不是動態的。

假設,一個名爲constant_value在名爲Physics表列,我用下面的查詢:

SELECT SUBSTRING(constant_value, 2) FROM Physics 

爲3.1416,它會返回1416,但21.436,它將返回1.436。但我想它返回436

編輯:

嘗試都Andrew MortonRafiq奧鋼聯的解決方案。兩者都返回相同的輸出。

看來我無法解釋我的問題。這不是我正在尋找的尾數。這是我想要的小數點右側的文本。

如果constant_value = 3.1416,我想要一個MySQL函數,它將返回1416而不是0.1416。安德魯和拉菲克·奧鋼聯的解決方案給我0.1416,而我在尋找1416

+0

你想要做什麼?可能有其他方法。 – RST 2014-11-02 08:53:17

+0

這就是我想知道的。我沒有絲毫的想法如何做到這一點。 – 2014-11-02 08:54:56

+0

你的回答沒有意義。如果你不能解釋問題,你怎麼知道你有問題。通過你的代碼,程序走過我們。你有什麼,你需要什麼? – RST 2014-11-02 08:56:20

回答

2
SELECT abs(constant_value)-floor(abs(constant_value)) FROM Physics 
2

從MySQL 51年3月23日開始(因爲,從該版本開始,實際上該功能捨接近零),你可以使用TRUNCATE功能:

SELECT constant_value - TRUNCATE(constant_value, 0) FROM Physics 
相關問題