方法一
- round(column_name,2)
四舍五入截取(这种方法慎用,有时候结果不是你想要的)
select round(645342.875645342,2);
+------------+--+
| _c0 |
+------------+--+
| 645342.88 |
+------------+--+
方法二
- cast(column_name as decimal(10,2))
cast函数截取(推荐使用)
select cast(645342.875645342 as decimal(10,2))
. . . . . . . . . . . . . . . . . . . .> ;
+------------+--+
| _c0 |
+------------+--+
| 645342.88 |
+------------+--+
方法三
- regexp_extract(column_name,’([0-9]*.[0-9][0-9])’,1)
正则匹配截取,不做四舍五入,只是单纯的当作字符串截取
注意: 这种方式存在问题,对于正则表达式匹配不到的数据,数据就获取不到了,会变成NULL
本文介绍了三种在数据库中截取数值的方法:1) 使用round函数进行四舍五入,但可能不总是得到期望结果;2) 使用cast函数转换为decimal类型,推荐使用此方法;3) 利用regexp_extract进行正则匹配,不进行四舍五入,但对匹配不到的数据返回NULL。在实际操作中,需根据需求选择合适的方法。
806

被折叠的 条评论
为什么被折叠?



