在openoffice calc中,我打开从互联网上下载的csv文件。
其中一列是日期。日期格式为dd / mm / yy。它也是左对齐的(我认为它保存为文本)。
我想将日期格式修改为yyyy-mm-dd所以我可以将它放在我创建的mysql表中,并且我在其中有一个数据类型为date的列(所以它需要我之前提到的格式)
所以我在openoffice calc中选择了'Date'列,并尝试将格式从它改为我想要的格式。什么都没发生。根本没有变化。
有什么建议吗?与字符集或类似的东西有什么关系吗?
答案 0 :(得分:2)
如果您选择一个单元格并查看顶部'公式中的单元格内容'框 - 它是以单引号开头的吗?这意味着,它将作为文本导入。尝试删除引号,日期突然表现为日期(并使用该单元格的显示首选项)。
使用搜索和替换删除这些主要引号有一个有趣的黑客。选择列,进行搜索和替换,单击更多选项,仅选择当前选择,使用正则表达式:
search ^(.*)$
replace &
在正则表达式中,这意味着search anything and replace it by itself
。在OO中,这将删除主要引用。
答案 1 :(得分:1)
你可以使用MySQL的STR_TO_DATE()
函数:
LOAD DATA INFILE '/path/to/file.csv'
INTO TABLE my_table
CHARACTER SET utf8
FIELDS
TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES
TERMINATED BY '\r\n'
IGNORE 1 LINES
(@date, col_a, col_b, etc)
SET
date_col = STR_TO_DATE(@date, '%d/%m/%Y')
;
答案 2 :(得分:0)
它在导入/打开对话框中,您必须告诉它列是日期,然后一切正常。