2011-05-18 2 views
0

Il y a trois colonnes d'informations de date (mois, jour, année) dans une table et je voudrais créer une nouvelle colonne dans la table et combiner ces 3 colonnes dans un la nouvelle colonne afin que je puisse avoir une seule date formatée. Comment puis-je faire ceci? Je sais comment interroger ceci mais j'essaye de comprendre comment copier cette information à la table originale. Merci d'avance.Comment combiner des colonnes dans une table (Access SQL)

+1

Jetez un coup d'œil à la fonction 'DATESERIAL'. – onedaywhen

+0

veuillez ajouter la requête de travail que vous avez. –

+0

Quel type de données sont vos 3 colonnes existantes? – HK1

Répondre

2

Si je comprends bien, vous avez besoin de modifier votre table et ajouter une colonne datetime Vous devez faire quelque chose comme ça

UPDATE YourTable 
SET DATECOLUMN = '#' & DAYCOLUMN & '/' & MONTHCOLUMN & '/' & YEARCOLUMN & '#' 

Ce fut le sintaxis accès si je me souviens bien.

Salutations.

+0

J'ai essayé ce qui suit et j'ai eu l'erreur "Accès Microsift n'a pas mis à jour 10 champs en raison d'un échec de conversion de type": 'mise à jour Autographes set full_date = '#' & day & '/' & month & '/'& year & '#'; ' – user759935

+1

Les erreurs de conversion de type proviennent probablement de valeurs de jour, mois ou année non valides dans vos champs qui provoquent la génération d'une date non valide. Recherchez des valeurs telles que Jour = 30 et Mois = 2. – TheOtherTimDuncan

2

Il existe un certain nombre de façons de gérer un tel exercice de nettoyage de données, par ex.

  • CREATE une nouvelle table, y compris une nouvelle colonne NOT NULL et en omettant les colonnes maintenant redondantes, INSERT..SELECT dans la nouvelle table uniquement les données dont vous avez besoin, laissez tomber l'ancienne table (vous vous retrouverez avec un nom de table différent qui peut ne pas être une mauvaise chose).
  • ADD une nouvelle colonne nullable à la table existante (ou NOT NULL si vous avez un approprié DEFAULT), UPDATE la nouvelle colonne, modifier la colonne pour le rendre NOT NULL puis DROP les colonnes maintenant redondantes.
Questions connexes