1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| DROP TABLE IF EXISTS matable_1; -- Ce n'est pas nécessaire
CREATE TEMPORARY TABLE matable_1 (bigfield TEXT); -- On créée un table temporaire ne contenant qu'un seul champ de type text sans limite de caractères (en théorie)
COPY matable_1 FROM 'monchemin\monfichier.csv' WITH DELIMITER '$'; -- On importe monfichier dans matable_1 avec un délimiteur volontairement non présent dans monfichier
UPDATE matable_1 SET bigfield = replace(bigfield,'XXXXX',''); -- On remplace les 'XXXXX' par un vide, ce qui fera une valeur nulle dans la table finale
DROP TABLE IF EXISTS matable_2;
SELECT
split_part(bigfield, ';', 1) AS nom,
split_part(bigfield, ';', 2) AS prenom,
split_part(bigfield, ';', 3)::interger AS datenaiss -- On peut importer les dates comme entier
INTO matable_2
FROM matable_1; |
Partager