首页  >  文章  >  数据库  >  如何在 LOAD DATA INFILE 期间将 YYYYMMDD 日期转换为 YYYY-MM-DD?

如何在 LOAD DATA INFILE 期间将 YYYYMMDD 日期转换为 YYYY-MM-DD?

Linda Hamilton
Linda Hamilton原创
2024-11-18 05:29:01900浏览

How to Convert YYYYMMDD Dates to YYYY-MM-DD During LOAD DATA INFILE?

使用 LOAD DATA INFILE 将日期从 YYYYMMDD 导入到 YYYY-MM-DD

使用 LOAD DATA INFILE 从 INFILE 导入数据时,您可能会遇到以 YYYYMMDD 格式存储的日期。当使用需要 YYYY-MM-DD 格式的数据库时,这可能会出现问题。

解决方案:

幸运的是,您可以轻松转换日期到 LOAD DATA INFILE 语句本身中所需的格式,从而无需使用脚本进行外部转换。 STR_TO_DATE() 函数用于此转换。

例如,考虑以下包含 YYYYMMDD 格式日期的 INFILE:

AADR,20120403,31.43,31.43,31.4,31.4,1100
AAU,20120403,2.64,2.65,2.56,2.65,85700
AAVX,20120403,162.49,162.49,154.24,156.65,2200

导入此数据并将日期转换为 YYYY -MM-DD格式一步完成,使用下面的LOAD DATA INFILE语句:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
FIELDS TERMINATED BY ',' 
(column1, @var1, column3, ...)
SET column2 = STR_TO_DATE(@var1,'%Y%m%d')

在此语句中:

  • @var1 是 INFILE 中 YYYYMMDD 日期值的占位符。
  • STR_TO_DATE() 将 @var1 值从YYYYMMDD 格式转换为 YYYY-MM-DD。
  • %Y%m%d 是 YYYYMMDD 格式的格式说明符。

执行此语句后, t1表中的日期将采用YYYY-MM-DD格式,使其与数据库要求和后续兼容操作。

以上是如何在 LOAD DATA INFILE 期间将 YYYYMMDD 日期转换为 YYYY-MM-DD?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn