mysql - 是否可以只更改 mysql 中的小数部分?

标签 mysql replace int decimal

我知道这是一个愚蠢的问题,但是否可以只更改十进制值的整数部分。例如,假设我有数字 12.34,那么我只想更改 12,而 .34 保持原样。 我有两张 table 。表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 - 是否可以只更改 mysql 中的小数部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48806176/

相关文章:

php - 哪种方式在数据库中存储和处理大量数据是合法的?将所有内容存储在一张表中还是通过 id(属性)为每个表创建新表?

Mysql选择两个STRING之间的数据不是整数

Javascript 替换函数(正则表达式)

java - 如何在不同的代码行中使用 int 并增加其值

mysql - 在ubuntu上安装mysql后访问被拒绝

mysql - 如果没有值,则计算行数返回 1

mysql - 替换sql中字符串的开头

mysql - mysql 中有一个类似 php 中的 str_replace 的函数吗?

c++ - 随机选择 2 个不在范围内的整数?

c# - 是否可以创建使用可空 int 作为泛型参数的类?