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

如何将SQL表单列的unix时间戳转换为日期并写入同表另一列

核心更新语句(MySQL 环境,你当前使用的 FROM_UNIXTIME 为 MySQL 专属函数)

直接将转换逻辑套入 UPDATE 的赋值部分即可,全表更新的语句如下:

UPDATE MYTABLE SET `DATE` = FROM_UNIXTIME(`TIMESTAMP`);

常见场景优化

  • 如果你要存入的 DATE 列是 DATE 类型(仅需存储年月日,不需要时分秒),可以嵌套 DATE() 函数裁剪时间部分:
UPDATE MYTABLE SET `DATE` = DATE(FROM_UNIXTIME(`TIMESTAMP`));
  • 建议首次操作前先拿单条数据测试,避免逻辑错误影响全表:
-- 先查询验证转换结果是否符合预期
SELECT `TIMESTAMP`, FROM_UNIXTIME(`TIMESTAMP`) AS test_date FROM MYTABLE LIMIT 1;
-- 测试更新单条数据
UPDATE MYTABLE SET `DATE` = FROM_UNIXTIME(`TIMESTAMP`) WHERE id = 你的测试数据ID LIMIT 1;

注意事项

  • 操作前请务必备份表数据,避免误更新后无法回滚
  • 如果时间戳列存在无效值(比如0、负数、超出合法时间范围的数值),可以加 WHERE 条件过滤,避免生成异常日期:
UPDATE MYTABLE SET `DATE` = FROM_UNIXTIME(`TIMESTAMP`) WHERE `TIMESTAMP` > 0;
  • TIMESTAMP 和 DATE 都是 SQL 保留字,作为列名使用时建议加反引号包裹,避免语法报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:39:02