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

如何让SQL中的DATE类型兼容MM/DD/YYYY等多种日期格式

解决DATE类型接受'MM/DD/YYYY'格式插入的方案

首先修正你插入语句里的笔误:列名Birdate应为Birthdate,否则会触发列不存在的语法错误。

以下针对主流数据库,提供适配MM/DD/YYYY格式日期插入的可行方案:

1. MySQL/MariaDB

方法一:临时修改会话日期格式

执行以下语句后,当前会话内可直接插入MM/DD/YYYY格式的字符串:

SET session sql_mode = '';
SET session date_format = '%m/%d/%Y';
SET session time_zone = 'UTC'; -- 可根据实际业务时区调整

之后直接运行你的插入语句即可。

方法二:用函数显式转换

若不想修改会话参数,插入时通过STR_TO_DATE函数转换格式:

INSERT INTO Demographics(First_Name, Last_Name, Birthdate) VALUES
('John', 'Smith', STR_TO_DATE('05/18/2005', '%m/%d/%Y'));

2. PostgreSQL

PostgreSQL默认不识别MM/DD/YYYY格式,需用TO_DATE函数转换:

INSERT INTO Demographics(First_Name, Last_Name, Birthdate) VALUES
('John', 'Smith', TO_DATE('05/18/2005', 'MM/DD/YYYY'));

批量插入时,可提前统一转换数据格式,或创建自定义函数简化操作。

3. SQL Server

使用CONVERT函数指定格式代码(101对应MM/DD/YYYY):

INSERT INTO Demographics(First_Name, Last_Name, Birthdate) VALUES
('John', 'Smith', CONVERT(DATE, '05/18/2005', 101));

不建议全局修改数据库日期格式,避免影响其他业务模块的兼容性。

注意事项

  • 批量处理时优先使用函数转换方式,减少全局参数修改带来的风险。
  • 确保日期字符串格式严格合规:月份不超过12、日期符合对应月份的天数限制,否则转换会触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:45:35