我在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<>小提琴在这里