是否可以在mysql中仅更改小数部分?

我知道这是一个愚蠢的问题,但是可以只更改十进制值的整数部分.例如,假设我有数字12.34,那么我只想更改12和.34保持原样.
我有两张桌子.表X和表Y

Table X 
id(int)|  value(decimal)
-------|--------
1      | 12.43
2      |  3.54
3      |102.07

Table Y
id(int)|  value(int)
-------|--------
1      | 32
2      | 76
3      | 8

我想像下面的结果表x

Table X 
id    |  value
------|--------
1     | 32.43
2     | 76.54
3     |  8.07

用表Y的值替换表X的int部分.
可以在mysql中吗?(不带任何函数调用,例如字符串替换).

解决方法:

要隔离X表中值的小数部分,可以使用以下表达式:

X.value - FLOOR(X.value)

换句话说,我们可以减去整数部分.

SELECT
    x.id,
    y.value + x.value - FLOOR(x.value) AS value
FROM X x
INNER JOIN Y y
    ON x.id = y.id;

Demo

上一篇:我的平方根和多维数据集打印后,似乎无法摆脱小数点?


下一篇:c#-mvc4-db.SaveChanges()-十进制值超出范围