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

如何将数据库中字符串格式日期转换为Unix时间戳?

解决字符串日期转Unix时间戳的问题

嘿,我来帮你搞定这个转换问题!你的SQL语句里有两个关键问题导致无法正常工作,咱们一步步修正:

问题分析

  1. 字段名被当成字符串字面量:你给**mydate**加了单引号,数据库会把它当成普通字符串'mydate'来解析,而不是读取表中mydate字段的值;
  2. 格式串不匹配:你指定的"yyyy-MM-dd HH:mm:ss.SSSS"和实际的日期格式'8/1/2015 12:35:22 PM'完全不符,数据库没法识别这个日期结构。

正确的转换语句

针对你的日期格式(月/日/年 12小时制时间 + AM/PM),我们需要用MySQL对应的格式符来匹配:

SELECT UNIX_TIMESTAMP(mydate, '%c/%e/%Y %h:%i:%s %p') AS new_date FROM your_table;

格式符说明

这里的格式串精准对应你的日期结构:

  • %c:1位或2位的月份(比如8或08)
  • %e:1位或2位的日期(比如1或01)
  • %Y:4位年份(比如2015)
  • %h:12小时制的小时(01-12)
  • %i:分钟(00-59)
  • %s:秒(00-59)
  • %p:AM或PM标识

额外说明

如果你的数据库版本支持自动识别部分格式,也可以简化成UNIX_TIMESTAMP(mydate),但指定明确的格式串会更可靠,避免因数据库配置差异导致的解析错误。另外,UNIX_TIMESTAMP本身返回的就是整数类型的时间戳,不需要额外用CAST转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:37:38