2017-04-10 3 views
0

J'essaie d'importer un fichier CSV dans une table MySQL en utilisant Sequel Pro.Sequel Pro: Comment changer une chaîne en une date lors de l'importation?

Je sais que je dois utiliser STR_TO_DATE, mais je n'arrive pas à trouver la bonne syntaxe. J'ai essayé cette syntaxe STR_TO_DATE(@$1, '%d/%m/%y') qui ne fonctionne pas.

Le format de fichier 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, 

Schéma de la table

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. Fichier> Importer. Le fichier arrive et le champ de date dans le CSV est la ligne 1:

enter image description here

  1. Sélectionnez Date> Ajouter l'expression

enter image description here

  1. Vue d'importation finale

enter image description here

  1. Erreur

enter image description here

L'expression revient STR_TO_DATE(@$1, '%d/%m/%y')NULL mais je ne sais pas pourquoi?

Répondre

0

Une petite modification de l'expression a résolu le problème. Au lieu de simplement convertir la chaîne en date, j'ai ajouté une coche pour trouver la chaîne vide.

IF (2 $ = '', null, STR_TO_DATE (2 $, '% d /% m /% Y'))