J'ai un problème avec deux tables dont j'ai besoin de comparer des dates pour la même référence. Le problème est queComment faire correspondre partiellement la cellule avec une autre cellule partielle
- les dates sont différents formats et
- données superflues est également contenue dans les cellules de date.
mondial
No. Date
1 1992-08-25 00:00:00.000
2 2015-05-19 00:00:00.000
3 2000-01-12 00:00:00.000
Local
No. Date
1 25.08.1992 00:00:00.000000000 GMT
1 28.08.1992 00:00:00.000000000 GMT
2 19.05.2015 00:00:00.000000000 GMT
3 12.01.2000 00:00:00.000000000 GMT
3 17.01.2000 00:00:00.000000000 GMT
Notez que les formats de date entre les deux tables différentes et contiennent beaucoup de temps et zéro des données qui ne sont pas nécessaires. Donc, idéalement, je voudrais voir le format DD-MM-YYYY
.
Je voudrais retourner uniquement les entrées Global et Local où la date locale diffère de la date globale. Donc, à partir des données ci-dessus, je veux voir:
No. Date No. Date
1 25-08-1992 1 28-08-1992
3 12-01-2000 3 17-01-2000
je mettrais mes efforts à ce jour, mais pour être honnête, je n'ai aucune idée sur la façon d'aborder la mise en correspondance de cellule partielle et re-formatage.
Des idées?
Mise à jour: j'ai essayé une solution de @Sarslan et remplacé par mes noms de table et sur le terrain qui ont abouti à cette:
WITH G AS
(
SELECT [UPC], CONVERT(DATE,LEFT([GLOBAL RELEASE DATE], CHARINDEX(' ',
[GLOBAL RELEASE DATE])),120) [Date] FROM [dsched_migration].[emi].
[EMI_Global]
)
,L AS
(
SELECT [UPC], CONVERT(DATE,LEFT([TERR_REL_DATE], CHARINDEX(' ',
[TERR_REL_DATE])),104) [Date] FROM [dsched_migration].[emi].
[terr_release_dates]
)
SELECT
G.UPC, CONVERT(VARCHAR,G.Date,105) [GLOBAL RELEASE DATE],
L.UPC, CONVERT(VARCHAR,L.Date,105) [TERR_REL_DATE]
FROM
G INNER JOIN L ON L.UPC = G.UPC
WHERE L.Date <> G.Date
Je continue à obtenir cette erreur:
Msg 241, Level 16, State 1, Line 7
Conversion failed when converting date and/or time from character string.
pourquoi sont-ils stockés en tant que chaînes en premier lieu? L'utilisation d'un type de colonne date/heure réelle supprimerait des problèmes comme celui-ci – ADyson
Malheureusement, c'est ainsi que les données ont été reçues de mon fournisseur.Je n'ai aucun contrôle sur la façon dont je le reçois. – bobtastic