是否可以在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

转载注明原文:是否可以在mysql中仅更改小数部分? - 代码日志