You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除小数点并更新数据库表中4个VARCHAR字段的已有记录?

移除VARCHAR字段中的小数点并更新记录

针对你的需求(将VARCHAR(7)类型的4个字段中带小数点的内容转为无小数点格式,如D21.3→D213),以下是主流数据库的实现方案:

MySQL/MariaDB

使用REPLACE()函数替换字段中的小数点为空字符串:

UPDATE your_table
SET 
  col1 = REPLACE(col1, '.', ''),
  col2 = REPLACE(col2, '.', ''),
  col3 = REPLACE(col3, '.', ''),
  col4 = REPLACE(col4, '.', '');

验证结果(执行更新前建议先跑此查询):

SELECT 
  col1, REPLACE(col1, '.', '') AS cleaned_col1,
  col2, REPLACE(col2, '.', '') AS cleaned_col2,
  col3, REPLACE(col3, '.', '') AS cleaned_col3,
  col4, REPLACE(col4, '.', '') AS cleaned_col4
FROM your_table;

SQL Server

语法与MySQL一致,同样用REPLACE():

UPDATE your_table
SET 
  col1 = REPLACE(col1, '.', ''),
  col2 = REPLACE(col2, '.', ''),
  col3 = REPLACE(col3, '.', ''),
  col4 = REPLACE(col4, '.', '');

验证查询:

SELECT 
  col1, REPLACE(col1, '.', '') AS cleaned_col1,
  col2, REPLACE(col2, '.', '') AS cleaned_col2,
  col3, REPLACE(col3, '.', '') AS cleaned_col3,
  col4, REPLACE(col4, '.', '') AS cleaned_col4
FROM your_table;

Oracle

Oracle的REPLACE()函数用法相同:

UPDATE your_table
SET 
  col1 = REPLACE(col1, '.', ''),
  col2 = REPLACE(col2, '.', ''),
  col3 = REPLACE(col3, '.', ''),
  col4 = REPLACE(col4, '.', '');

验证查询:

SELECT 
  col1, REPLACE(col1, '.', '') AS cleaned_col1,
  col2, REPLACE(col2, '.', '') AS cleaned_col2,
  col3, REPLACE(col3, '.', '') AS cleaned_col3,
  col4, REPLACE(col4, '.', '') AS cleaned_col4
FROM your_table;

关键注意事项

  • 数据备份:执行更新前务必备份数据或在测试环境验证,避免误操作导致数据丢失。
  • 长度检查:由于字段是VARCHAR(7),需确保替换后的字符串长度不超过7位。例如D123.456替换后为D123456(长度7)符合要求,但如果原数据更长,部分数据库会截断或报错,需提前排查。
  • 无小数点记录:REPLACE()不会修改本身没有小数点的记录,无需额外过滤条件。

内容的提问来源于stack exchange,提问作者Krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 22:10:09