2017-04-10 50 views
0

我想使用Sequel Pro将CSV文件导入到MySQL表中。Sequel Pro:如何在导入期间将字符串更改为日期?

我知道我需要使用STR_TO_DATE,但我无法弄清楚正确的语法。我试过这个语法STR_TO_DATE(@$1, '%d/%m/%y'),这是行不通的。

CSV文件格式

Date Created, Date Modified 
07/10/16,02/02/17, 
07/10/16,, 
07/10/16,, 
07/10/16,, 
07/10/16,23/01/17, 

表模式

CREATE TABLE `date` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `Date Created` date NOT NULL, 
    `Date Updated` date DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; 


  1. 文件>导入。该文件出现,并在CSV日期字段是1行:

enter image description here

  • 选择日期>添加表达
  • enter image description here

    1. Final import view

    enter image description here

  • 错误
  • enter image description here

    的表达返回STR_TO_DATE(@$1, '%d/%m/%y')NULL,但我不知道为什么?

    回答

    0

    对表达式的小改动解决了问题。

    而不是只是将字符串转换为日期我添加了一个检查来查找空字符串。

    IF($ 2 = '',NULL,STR_TO_DATE($ 2, '%d /%米/%Y'))

    相关问题