Toutes mes excuses pour les nombreuses questions de base - Je suis très novice en matière de SQL et j'essaie toujours de résoudre le problème. Je souhaite insérer des enregistrements de ma table de transfert vers une autre table de ma base de données, en supprimant les doubles guillemets dans le fichier source avec une fonction 'replace' et en convertissant les données de nvarchar (table de transfert) en datetime2. Je ne peux pas travailler tout à fait comment faire ceci: si je boucle le « cas où » dans « remplacer », comme ci-dessous, puis SQL ne reconnaît pas mes données et nulls it out:Bouclage d'une instruction CASE WHEN et REPLACE dans SQL
CASE WHEN ISDATE (REPLACE([Column1], '"', '')) = 1
THEN CONVERT(datetime2, Column1, 103)
ELSE null END
Toutefois, si Je boucle mon « remplacer » dans mon « cas où », comme ci-dessous, SQL me donne un message d'erreur indiquant qu'il est incapable de convertir nvarchar en datetime2:
LTRIM(REPLACE([Column1], '"', '')
,CASE WHEN ISDATE(Column1) = 1 THEN CONVERT(datetime2, Column1, 103)
ELSE null END
Quel ordre/syntaxe dois-je besoin d'utiliser les pour y parvenir? Un exemple du champ de données serait: « 16/10/2017 »
Il télécharge à ma table de mise en scène comme nvarchar « 16/10/2017 »
et je voudrais passer dans mon table2 comme datetime2: 16/10/2017
Pouvez-vous poster quelques exemples de données et la sortie désirée? – Leonidas199x
Êtes-vous en mesure de télécharger les données dans un format moins ambigu comme «yyyymmdd»? – iamdave