在SQL结果中插入十进制分隔符



我正在使用MySql。我需要将2783571287的双精度结果转换为十进制的"27835712,87"。在我的例子中,我使用","作为十进制分隔符。

我设法使用了强制转换函数,但之前无法设置构成值末尾的两位小数。

此外,我不能";切割";使用SUBSTRING函数作为字符数量的值可能会有所不同。

有人知道我该怎么做吗?

感谢

此外,我无法"切割";使用SUBSTR函数作为字符数量的值可能会变化。

如果要删除最后两个字符,请使用substr((和length((作为

mysql> select substr(2783571287, 1, length(2783571287) - 2);
+-----------------------------------------------+
| substr(2783571287, 1, length(2783571287) - 2) |
+-----------------------------------------------+
| 27835712                                      |
+-----------------------------------------------+
1 row in set (0.00 sec)

您还可以使用right((提取最后两个字符

mysql> select right(2783571287, 2);
+----------------------+
| right(2783571287, 2) |
+----------------------+
| 87                   |
+----------------------+
1 row in set (0.00 sec)

然后

mysql> select concat(substr(2783571287, 1, length(2783571287) - 2), ',', right(2783571287, 2));
+----------------------------------------------------------------------------------+
| concat(substr(2783571287, 1, length(2783571287) - 2), ',', right(2783571287, 2)) |
+----------------------------------------------------------------------------------+
| 27835712,87                                                                      |
+----------------------------------------------------------------------------------+
1 row in set (0.00 sec)

最新更新