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

如何在SQL中为VARCHAR列补全缺失小数点的10位HTS编码?

补全HTS编码的小数点格式

解决方案

针对10位纯数字格式的HTS编码,通过字符串拆分拼接的方式添加小数点,以下是主流数据库的实现语句:

MySQL/MariaDB

先验证要更新的结果(强烈建议先执行此步骤确认):

SELECT 
  hts_column,
  CONCAT(
    SUBSTRING(hts_column, 1, 4),
    '.',
    SUBSTRING(hts_column, 5, 2),
    '.',
    SUBSTRING(hts_column, 7, 4)
  ) AS formatted_hts
FROM your_table
WHERE LENGTH(hts_column) = 10 AND hts_column REGEXP '^[0-9]{10}$';

确认结果无误后执行更新:

UPDATE your_table
SET hts_column = CONCAT(
    SUBSTRING(hts_column, 1, 4),
    '.',
    SUBSTRING(hts_column, 5, 2),
    '.',
    SUBSTRING(hts_column, 7, 4)
)
WHERE LENGTH(hts_column) = 10 AND hts_column REGEXP '^[0-9]{10}$';

PostgreSQL

验证语句:

SELECT 
  hts_column,
  SUBSTR(hts_column, 1, 4) || '.' || SUBSTR(hts_column, 5, 2) || '.' || SUBSTR(hts_column, 7, 4) AS formatted_hts
FROM your_table
WHERE LENGTH(hts_column) = 10 AND hts_column ~ '^[0-9]{10}$';

更新语句:

UPDATE your_table
SET hts_column = SUBSTR(hts_column, 1, 4) || '.' || SUBSTR(hts_column, 5, 2) || '.' || SUBSTR(hts_column, 7, 4)
WHERE LENGTH(hts_column) = 10 AND hts_column ~ '^[0-9]{10}$';

关键说明

  • WHERE 条件精准筛选出10位纯数字的行,避免误修改已正确格式化或存在异常的编码
  • 执行更新前务必备份数据,或者通过SELECT预览结果,防止操作失误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:10:38