将 MySQL 十进制数转换为千克单位



我在MySQL数据库中添加了length名称decimal (15,8)类型。现在我有12.00000000,需要像12一样转换为米单位.我该如何转换?!

阅读演员和转换 - https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html

为您的示例

select cast(12.00000000 as unsigned)
+-------------------------------+
| cast(12.00000000 as unsigned) |
+-------------------------------+
|                            12 |
+-------------------------------+
1 row in set (0.000 sec)

答案有点复杂。

第一个选项是使用 CAST

但这会导致值的舍入,如果您don_不想这样做,则必须将 intgo 转换为字符串并使用 substring_I'NDEX

CREATE TABLE table1 (
`value` DECIMAL(15,8)
);
INSERT INTO table1
( `value`)
VALUES
(12.00001),
(12.50001);
SELECT CAST(value as unsigned) FROM table1
|投射(值为无符号( | |----------------------: | |                     12 | |                     13 |
SELECT SUBSTRING_INDEX(CONVERT(value, CHAR),'.',1) FROM table1
|SUBSTRING_INDEX(转换(值,字符(,".",1( | |:------------------------------------------ | |12 | |12 |

db<>小提琴在这里

最新更新