IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

importation CSV, 3 cellule en 1


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Points : 52
    Points
    52
    Par défaut importation CSV, 3 cellule en 1
    Bonjour,

    je dispose d'un fichier CSV contenant les colone Jour_mois mois et année de la forme 30 ; Nov. ; 2008
    pour pouvoir faire des requete sur ma table en fonction de la date ( SELECT * from journee where dateo between 30/Nov./2008 AND 7/Déc./2008

    requete qui n'est pas possible de realiser si le jour le mois et l'année sont dans des colonnes différentes. (ou alors expliquez moi je connais pas ^^ )

    je vous remercie par avance.
    n'hésitez pas si vous avez besoins d'autre explication pr comprendre ma requete.

    Olivier

  2. #2
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Points : 52
    Points
    52
    Par défaut
    juste pour demander, est-ce possible de convertire une données de type:

    Jan.
    Fév.
    Mars
    Avr.
    Nov.
    Déc.

    (les valeur sont tel quel dans le CSV le pb c'esdt que si je les met tel quel dans ma table je suis obliger de les mettre en nvchar et je peux donc pas réaliser de requete de date.)

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vous pouvez vous inspirer de cet article en ajoutant une colonne calculée MoisAbrege comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    CREATE FUNCTION FnGetMoisAbrege (@NumMois TINYINT)
    	RETURNS VARCHAR(5)
    	WITH SCHEMABINDING
    AS
    BEGIN
    	RETURN
    	(
    		SELECT CASE @NumMois
    					WHEN 1 THEN 'Jan.'
    					WHEN 2 THEN 'Fev.'
    					WHEN 3 THEN 'Mar.'
    					WHEN 4 THEN 'Avr.'
    					WHEN 5 THEN 'Mai.'
    					WHEN 6 THEN 'Juin.'
    					WHEN 7 THEN 'Juil.'
    					WHEN 8 THEN 'Aout.'
    					WHEN 9 THEN 'Sep.'
    					WHEN 10 THEN 'Oct.'
    					WHEN 11 THEN 'Nov.'
    					WHEN 12 THEN 'Dec.'
    					ELSE NULL
    				END
    	)
    END
    Et la colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE dbo.TbDates
    ADD MoisAbrege AS (dbo.FnGetMoisAbrege(DATEPART(month, date))) PERSISTED NOT NULL
    @++

  4. #4
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Points : 52
    Points
    52
    Par défaut
    tt dabord merci de ta réponse.

    peux-tu me donner ton avis, entretemps j'ai utilisé une autre méthode :

    j'ai creer une table mois avec ces colonne:
    id_mois et mois

    le but étant de recuperer le mois sous forme de numéro, dans visual studio j'ai utiliser une source de fichier plat (CSV) une conversion de donnée, puis une recherche. je recherche le mois dans la table mois et je récupere le numéro.

    ceci marche, mais est-ce bien de faire comme sa?

    pour ta fonction , je ne vois pas comment faire pour la rendre automatique dans mon pakage, il faudrait que je la rentre ou ? de meme pour ta requete alter table?

    ou est-ce que tout ceci doit etre ecrit dans visual studio? (les pakage devront par la suite etre lancer tout les jours automatiquement, pour référencer l'entrepot de données. donc j'utilise visual studio, mais je ne vois pas ou et comment mettre ce que tu m'as donné.

Discussions similaires

  1. Import CSV sous Excel, garder les 0 inutile
    Par ePoX dans le forum Excel
    Réponses: 4
    Dernier message: 26/01/2009, 16h25
  2. [ACCESS 2003] - Importation *.csv
    Par guiguikawa dans le forum Access
    Réponses: 3
    Dernier message: 29/06/2006, 16h19
  3. Importer CSV dans MySQL
    Par The_freeman dans le forum Administration
    Réponses: 6
    Dernier message: 14/02/2006, 22h18
  4. import csv décimale
    Par gIch dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2005, 12h46
  5. Importation CSV vers base de données
    Par Brice Yao dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2005, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo