Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想将我的值存储为 FLOATS,但是在检索它们时,用户可以指定(并在运行时更改)他想在小数点后看到多少位数。
我可以SELECT以某种方式通过它,还是必须在我的应用程序中这样做?
SELECT
是的,只需指定第二个参数ROUND()
ROUND()
SELECT ROUND(23.298, <precision>);
有了这个,您可以指定要返回的位数。(您甚至可以有负值,在这种情况下,输入会四舍五入为 10 (-precision))。
或者您可以CAST用作DECIMAL:
CAST
DECIMAL
CAST(2.5 AS DECIMAL(20,2))
(注意:后者也适用于文本输入,例如CAST('2.5' AS DECIMAL(20,2)),但在这种情况下,它是关于 FLOAT 输入的)
CAST('2.5' AS DECIMAL(20,2))
使用ROUND(),CEIL()或FLOOR()做同样的事情并获取从用户传递的第二个参数的值作为输入。
CEIL()
FLOOR()