【问题标题】:MySQL load dates in mm/dd/yyyy formatMySQL 以 mm/dd/yyyy 格式加载日期
【发布时间】:2012-03-05 03:28:11
【问题描述】:

我有一个几乎可以工作的 MySQL 加载脚本,它非常完美,除了日期列,它不是 MySql 友好的格式。

在文件中加载数据'/Users/pfarrell/sandbox/waybase/folklore/Titles_1976.csv' 进入表 fix76 以“,”结尾的字段 用 '"' 括起来 忽略 1 行 (专利 ID、USPatentNum、标题、授权日期、归档日期)

问题是我的日期是 mm/dd/yyyy 格式。看起来像 str_to_date 函数是我想要的,但我不知道如何在加载命令中使用它。
我的设想是:

grantDate = STR_TO_DATE(某事, '%m/%d/%Y'),

但这不起作用。

【问题讨论】:

  • 我已经解决了这种情况,方法是在辅助字符串列中导入日期,然后更新表格,使用转换公式添加日期。这不是很好看,但有效。让我们看看是否有人有更好的方法......
  • 您是否尝试更改连接的区域设置以查看是否可行?

标签: mysql parsing csv


【解决方案1】:

您可以将日期字符串加载到用户定义的变量中,然后使用STR_TO_DATE(@date, '%m/%d/%Y') 将它们转换为 MySQL 日期。

试试这个:

load data infile  '/Users/pfarrell/sandbox/waybase/folklore/Titles_1976.csv'
into table fix76
fields terminated by ','
enclosed by '"'
ignore 1 lines
(  patentId,  USPatentNum,  title,  @grantDate,  @filedDate)
set grantDate = STR_TO_DATE(@grantDate, '%m/%d/%Y'),
filedDate = STR_TO_DATE(@filedDate, '%m/%d/%Y')

【讨论】:

    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多