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

如何在MySQL 2008中将指定日期字符串转为MM/DD/YYYY HH:MM:SS AM格式并插入表

首先得澄清个小误区:MySQL并没有2008这个版本号哦,你可能是把它和SQL Server 2008搞混啦!不过没关系,我分别针对两种数据库场景给你讲清楚怎么处理~

先说说核心逻辑:不管是哪种数据库,日期时间类型(比如MySQL的DATETIME、SQL Server的DATETIME)本身没有固定显示格式——它是按数值形式存储的,格式只是我们查询或插入时的字符串表现形式。你的需求其实分两步:一是把源字符串转成数据库能识别的日期时间类型(方便规范存储),二是如果需要以MM/DD/YYYY HH:MM:SS AM的格式输出或存储为字符串,再做格式化。

情况1:如果你用的是MySQL

1. 把源字符串转成DATETIME类型存储

你的源字符串'2016-06-27 05:29:39'刚好是MySQL默认支持的DATETIME输入格式,用STR_TO_DATE函数可以明确转换(避免格式歧义):

STR_TO_DATE('2016-06-27 05:29:39', '%Y-%m-%d %H:%i:%s')

结合你的插入场景,修改后的语句可以写成:

INSERT INTO dbo.ps_mnd_reqeng_sc_projectsummary (logged_date)
SELECT STR_TO_DATE(dt_logged, '%Y-%m-%d %H:%i:%s')
FROM DATA_FORM_VALUES_1125505;

这样插入的就是标准的DATETIME类型,后续查询时可以按需格式化。

2. 格式化为MM/DD/YYYY HH:MM:SS AM的字符串

如果你的目标字段是字符串类型(不推荐,还是用日期类型存储更合理),或者需要查询时输出这个格式,用DATE_FORMAT函数:

DATE_FORMAT(STR_TO_DATE('2016-06-27 05:29:39', '%Y-%m-%d %H:%i:%s'), '%m/%d/%Y %h:%i:%s %p')

对应的格式符说明:

  • %m:两位月份(01-12)
  • %d:两位日期(01-31)
  • %Y:四位年份
  • %h:12小时制的小时(01-12)
  • %i:两位分钟(00-59)
  • %s:两位秒数(00-59)
  • %p:自动显示AM/PM标识

情况2:如果你实际用的是SQL Server 2008

1. 转成DATETIME类型存储

SQL Server 2008可以直接用CAST或CONVERT转换:

CAST('2016-06-27 05:29:39' AS DATETIME)
-- 或者指定格式代码120(对应YYYY-MM-DD HH:MI:SS)
CONVERT(DATETIME, '2016-06-27 05:29:39', 120)

插入语句改成:

INSERT INTO dbo.ps_mnd_reqeng_sc_projectsummary (logged_date)
SELECT CONVERT(DATETIME, dt_logged, 120)
FROM DATA_FORM_VALUES_1125505;

2. 格式化为MM/DD/YYYY HH:MM:SS AM的字符串

SQL Server 2008没有FORMAT函数(2012及以上版本才支持),所以得用拼接方式实现:

SELECT 
    RIGHT('0' + CAST(MONTH(dt_logged) AS VARCHAR), 2) + '/' +
    RIGHT('0' + CAST(DAY(dt_logged) AS VARCHAR), 2) + '/' +
    CAST(YEAR(dt_logged) AS VARCHAR) + ' ' +
    CONVERT(VARCHAR(8), dt_logged, 108) + ' ' +
    CASE WHEN DATEPART(HOUR, dt_logged) < 12 THEN 'AM' ELSE 'PM' END
FROM DATA_FORM_VALUES_1125505;

如果是插入字符串字段,把这段查询放到INSERT语句里即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:35:51