voici ma problématique : j'ai utilisé l'assistant migration vers SQL server
de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server.
J'ai une table qui contient un champs date. Les dates ont été rentrées sous
n'importe quel format, par exemple :
- 02/02/2002
- 2/02/2002
- 2/2/2002
- 2/2/02
- Etc...
Ce qui fait que quand je fais une importation de données, il me fait une
erreur car il ne reconnait le format date.
J'ai été obligé de changer le format du champs de destination avec DTS en
text. Ca passe, mais les formats anarchiques demeurent.
Je souhaite trouver une requête (ou autre) qui puisse me permettre garder LE
bon format que je veux :
- 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère,
du genre :
UPDATE table1
SET DATE_DEPART = '0' + DATE_DEPART_DEP
FROM table1
WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe....
Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors avez-vous
une meilleure solution svp ? Merci d'avance à tous.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dominique Peralta
http://www.frenchsql.com/Default.aspx?page=5&ArticleIDS A lire impérativement pour tout comprendre des dates sous SQL Server
"Nesta" a écrit dans le message de news:
Bonjour à tous,
voici ma problématique : j'ai utilisé l'assistant migration vers SQL
server
de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server. J'ai une table qui contient un champs date. Les dates ont été rentrées
sous
n'importe quel format, par exemple : - 02/02/2002 - 2/02/2002 - 2/2/2002 - 2/2/02 - Etc...
Ce qui fait que quand je fais une importation de données, il me fait une erreur car il ne reconnait le format date. J'ai été obligé de changer le format du champs de destination avec DTS en text. Ca passe, mais les formats anarchiques demeurent. Je souhaite trouver une requête (ou autre) qui puisse me permettre garder
LE
bon format que je veux : - 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère, du genre :
UPDATE table1 SET DATE_DEPART = '0' + DATE_DEPART_DEP FROM table1 WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe.... Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors
avez-vous
une meilleure solution svp ? Merci d'avance à tous.
Nesta
http://www.frenchsql.com/Default.aspx?page=5&ArticleIDS
A lire impérativement pour tout comprendre des dates sous SQL Server
"Nesta" <nestaman@hotmail.com> a écrit dans le message de
news:uxIXxUcOGHA.1312@TK2MSFTNGP09.phx.gbl...
Bonjour à tous,
voici ma problématique : j'ai utilisé l'assistant migration vers SQL
server
de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server.
J'ai une table qui contient un champs date. Les dates ont été rentrées
sous
n'importe quel format, par exemple :
- 02/02/2002
- 2/02/2002
- 2/2/2002
- 2/2/02
- Etc...
Ce qui fait que quand je fais une importation de données, il me fait une
erreur car il ne reconnait le format date.
J'ai été obligé de changer le format du champs de destination avec DTS en
text. Ca passe, mais les formats anarchiques demeurent.
Je souhaite trouver une requête (ou autre) qui puisse me permettre garder
LE
bon format que je veux :
- 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère,
du genre :
UPDATE table1
SET DATE_DEPART = '0' + DATE_DEPART_DEP
FROM table1
WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe....
Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors
avez-vous
une meilleure solution svp ? Merci d'avance à tous.
http://www.frenchsql.com/Default.aspx?page=5&ArticleIDS A lire impérativement pour tout comprendre des dates sous SQL Server
"Nesta" a écrit dans le message de news:
Bonjour à tous,
voici ma problématique : j'ai utilisé l'assistant migration vers SQL
server
de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server. J'ai une table qui contient un champs date. Les dates ont été rentrées
sous
n'importe quel format, par exemple : - 02/02/2002 - 2/02/2002 - 2/2/2002 - 2/2/02 - Etc...
Ce qui fait que quand je fais une importation de données, il me fait une erreur car il ne reconnait le format date. J'ai été obligé de changer le format du champs de destination avec DTS en text. Ca passe, mais les formats anarchiques demeurent. Je souhaite trouver une requête (ou autre) qui puisse me permettre garder
LE
bon format que je veux : - 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère, du genre :
UPDATE table1 SET DATE_DEPART = '0' + DATE_DEPART_DEP FROM table1 WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe.... Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors
avez-vous
une meilleure solution svp ? Merci d'avance à tous.
Nesta
Florent CORNEILLE
Moi j'aurais esssayé d'aligner les formats dans Access avant la migration. Mais maintenant que c'est fait, je te propose de faire une requête pour chaque format différent.
Je t'écris un exemple pour les 4 requêtes qui corrigent les 4 formats de date que tu as affiché.
UPDATE Table1 SET LaDate = SUBSTRING(MauvaisFormat,7,4) + '/' + SUBSTRING(MauvaisFormat,4,2) + '/' + SUBSTRING(MauvaisFormat,1,2) WHERE MauvaisFormat LIKE '__/__/____' GO UPDATE Table1 SET LaDate = SUBSTRING(MauvaisFormat,6,4) + '/' + SUBSTRING(MauvaisFormat,3,2) + '/0' + SUBSTRING(MauvaisFormat,1,1) WHERE MauvaisFormat LIKE '_/__/____' GO UPDATE Table1 SET LaDate = SUBSTRING(MauvaisFormat,5,4) + '/0' + SUBSTRING(MauvaisFormat,3,1) + '/0' + SUBSTRING(MauvaisFormat,1,1) WHERE MauvaisFormat LIKE '_/_/____' GO UPDATE Table1 SET LaDate = '20' + SUBSTRING(MauvaisFormat,5,2) + '/0' + SUBSTRING(MauvaisFormat,3,1) + '/0' + SUBSTRING(MauvaisFormat,1,1) WHERE MauvaisFormat LIKE '_/_/__' GO
Info : Moi j'écris les dates au format aaaa/mm/jj, au moins je suis sûr que ça ne pause jamais de proclème (en générale, c'est dans l'application finale qu'on choisi un format personnalisé). Tu adapteras l'exemple en fonction de ce que tu voudra obtenir.
Autre info : j'ai considéré que dans tes dates, le jour était avant le mois (et pas le mois avant le jour comme dans le format anglais). Parce que le 2 février, ça porte à confusion (pour tes prochains exemples, préfère un jour qui est plus grand que 12 pour qu'on ne puisse pas le confondre avec le mois)
Bon courage ...
-- L''information n''est rien si elle n''est pas partagée.
"Nesta" a écrit :
Bonjour à tous,
voici ma problématique : j'ai utilisé l'assistant migration vers SQL server de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server. J'ai une table qui contient un champs date. Les dates ont été rentrées sous n'importe quel format, par exemple : - 02/02/2002 - 2/02/2002 - 2/2/2002 - 2/2/02 - Etc...
Ce qui fait que quand je fais une importation de données, il me fait une erreur car il ne reconnait le format date. J'ai été obligé de changer le format du champs de destination avec DTS en text. Ca passe, mais les formats anarchiques demeurent. Je souhaite trouver une requête (ou autre) qui puisse me permettre garder LE bon format que je veux : - 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère, du genre :
UPDATE table1 SET DATE_DEPART = '0' + DATE_DEPART_DEP FROM table1 WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe.... Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors avez-vous une meilleure solution svp ? Merci d'avance à tous.
Nesta
Moi j'aurais esssayé d'aligner les formats dans Access avant la migration.
Mais maintenant que c'est fait, je te propose de faire une requête pour
chaque format différent.
Je t'écris un exemple pour les 4 requêtes qui corrigent les 4 formats de
date que tu as affiché.
UPDATE Table1
SET LaDate = SUBSTRING(MauvaisFormat,7,4) + '/' +
SUBSTRING(MauvaisFormat,4,2) + '/' + SUBSTRING(MauvaisFormat,1,2)
WHERE MauvaisFormat LIKE '__/__/____'
GO
UPDATE Table1
SET LaDate = SUBSTRING(MauvaisFormat,6,4) + '/' +
SUBSTRING(MauvaisFormat,3,2) + '/0' + SUBSTRING(MauvaisFormat,1,1)
WHERE MauvaisFormat LIKE '_/__/____'
GO
UPDATE Table1
SET LaDate = SUBSTRING(MauvaisFormat,5,4) + '/0' +
SUBSTRING(MauvaisFormat,3,1) + '/0' + SUBSTRING(MauvaisFormat,1,1)
WHERE MauvaisFormat LIKE '_/_/____'
GO
UPDATE Table1
SET LaDate = '20' + SUBSTRING(MauvaisFormat,5,2) + '/0' +
SUBSTRING(MauvaisFormat,3,1) + '/0' + SUBSTRING(MauvaisFormat,1,1)
WHERE MauvaisFormat LIKE '_/_/__'
GO
Info : Moi j'écris les dates au format aaaa/mm/jj, au moins je suis sûr que
ça ne pause jamais de proclème (en générale, c'est dans l'application finale
qu'on choisi un format personnalisé). Tu adapteras l'exemple en fonction de
ce que tu voudra obtenir.
Autre info : j'ai considéré que dans tes dates, le jour était avant le mois
(et pas le mois avant le jour comme dans le format anglais). Parce que le 2
février, ça porte à confusion (pour tes prochains exemples, préfère un jour
qui est plus grand que 12 pour qu'on ne puisse pas le confondre avec le mois)
Bon courage ...
--
L''information n''est rien si elle n''est pas partagée.
"Nesta" a écrit :
Bonjour à tous,
voici ma problématique : j'ai utilisé l'assistant migration vers SQL server
de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server.
J'ai une table qui contient un champs date. Les dates ont été rentrées sous
n'importe quel format, par exemple :
- 02/02/2002
- 2/02/2002
- 2/2/2002
- 2/2/02
- Etc...
Ce qui fait que quand je fais une importation de données, il me fait une
erreur car il ne reconnait le format date.
J'ai été obligé de changer le format du champs de destination avec DTS en
text. Ca passe, mais les formats anarchiques demeurent.
Je souhaite trouver une requête (ou autre) qui puisse me permettre garder LE
bon format que je veux :
- 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère,
du genre :
UPDATE table1
SET DATE_DEPART = '0' + DATE_DEPART_DEP
FROM table1
WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe....
Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors avez-vous
une meilleure solution svp ? Merci d'avance à tous.
Moi j'aurais esssayé d'aligner les formats dans Access avant la migration. Mais maintenant que c'est fait, je te propose de faire une requête pour chaque format différent.
Je t'écris un exemple pour les 4 requêtes qui corrigent les 4 formats de date que tu as affiché.
UPDATE Table1 SET LaDate = SUBSTRING(MauvaisFormat,7,4) + '/' + SUBSTRING(MauvaisFormat,4,2) + '/' + SUBSTRING(MauvaisFormat,1,2) WHERE MauvaisFormat LIKE '__/__/____' GO UPDATE Table1 SET LaDate = SUBSTRING(MauvaisFormat,6,4) + '/' + SUBSTRING(MauvaisFormat,3,2) + '/0' + SUBSTRING(MauvaisFormat,1,1) WHERE MauvaisFormat LIKE '_/__/____' GO UPDATE Table1 SET LaDate = SUBSTRING(MauvaisFormat,5,4) + '/0' + SUBSTRING(MauvaisFormat,3,1) + '/0' + SUBSTRING(MauvaisFormat,1,1) WHERE MauvaisFormat LIKE '_/_/____' GO UPDATE Table1 SET LaDate = '20' + SUBSTRING(MauvaisFormat,5,2) + '/0' + SUBSTRING(MauvaisFormat,3,1) + '/0' + SUBSTRING(MauvaisFormat,1,1) WHERE MauvaisFormat LIKE '_/_/__' GO
Info : Moi j'écris les dates au format aaaa/mm/jj, au moins je suis sûr que ça ne pause jamais de proclème (en générale, c'est dans l'application finale qu'on choisi un format personnalisé). Tu adapteras l'exemple en fonction de ce que tu voudra obtenir.
Autre info : j'ai considéré que dans tes dates, le jour était avant le mois (et pas le mois avant le jour comme dans le format anglais). Parce que le 2 février, ça porte à confusion (pour tes prochains exemples, préfère un jour qui est plus grand que 12 pour qu'on ne puisse pas le confondre avec le mois)
Bon courage ...
-- L''information n''est rien si elle n''est pas partagée.
"Nesta" a écrit :
Bonjour à tous,
voici ma problématique : j'ai utilisé l'assistant migration vers SQL server de MS Access pour migrer une base Access 97 vers MS SQL 2000 Server. J'ai une table qui contient un champs date. Les dates ont été rentrées sous n'importe quel format, par exemple : - 02/02/2002 - 2/02/2002 - 2/2/2002 - 2/2/02 - Etc...
Ce qui fait que quand je fais une importation de données, il me fait une erreur car il ne reconnait le format date. J'ai été obligé de changer le format du champs de destination avec DTS en text. Ca passe, mais les formats anarchiques demeurent. Je souhaite trouver une requête (ou autre) qui puisse me permettre garder LE bon format que je veux : - 02/02/2002.
J'ai essayé un UPDATE, en tentant de faire une concaténation de caractère, du genre :
UPDATE table1 SET DATE_DEPART = '0' + DATE_DEPART_DEP FROM table1 WHERE (DATE_DEPART NOT LIKE '__/__/____')
Mais j'ai une erreur dans ma syntaxe.... Est-ce que quelqu'un pourrait m'aider sur cette requête, ou alors avez-vous une meilleure solution svp ? Merci d'avance à tous.