MySQL-如何更新小数列以允许点后有更多数字

标签 mysql

我在 MySQL 表中有这个 decimal(20,2) 列:

no  
-----
10.01
10.09
10.10
10.11
10.19
10.99

将十进制值更新为的最简单方法是什么

no
-------
10.001
10.009
10.010
10.011
10.099
..
10.100
10.101

如果我只将列更改为decimal(20,3),我有 10.010, 10.020 ... 10.990

最佳答案

这应该有效:

UPDATE TableName
SET no = no DIV 1 + MOD(no, 1) / 10

以下两个函数执行以下操作:

no DIV 1 => 10.019 DIV 1 = 10
MOD(no, 1) => MOD(10.019, 1) = 0.019

关于MySQL-如何更新小数列以允许点后有更多数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39588401/

相关文章:

mysql - 更新专用于特定订单的列

mysql - 加入三个表 - Mysql 一个内部和外部连接也许?

mysql - 批处理文件中的 SQL 结果

php - amchart 通过 JSON 绘制多个数据

mysql - 如何使用 mysql 查询从两个表中获取数据并将某些条件应用于第二个表?

mysql - 外部 SQL 行插入在同一函数调用中未显示在 Django 中

使用触发器将mysql数据传输到mssql

php - 使用 PHP 更新 MySQL 表

mysql - 为什么这个错误不是异常

mysql - 我可以加入没有关联的表吗? ( rails/SQL)