Gestion de la conversion mmddyyyy VARCHAR en DATETIME dans SQL Server
La conversion directe de chaînes au format mmddyyyy en DATETIME dans SQL Server entraîne souvent des erreurs. En effet, la fonction standard CONVERT
attend un format de date spécifique. Cet article fournit une solution robuste à ce problème courant.
Voici une méthode fiable :
<code class="language-sql">DECLARE @Date VARCHAR(8) SET @Date = '12312009' SELECT CONVERT(DATETIME, RIGHT(@Date, 4) + '-' + LEFT(@Date, 2) + '-' + SUBSTRING(@Date, 3, 2))</code>
Ce code fonctionne comme suit :
RIGHT
extrait l'année (les quatre derniers caractères).LEFT
extrait le mois (les deux premiers caractères).SUBSTRING
extrait le jour (caractères 3 et 4).yyyy-mm-dd
.CONVERT
transforme cette chaîne en valeur DATETIME.Cette technique surmonte les limites d'un CONVERT
simple en réorganisant explicitement les composants de chaîne dans le bon ordre pour l'interprétation DATETIME de SQL Server, résolvant ainsi efficacement les erreurs hors plage. Cela garantit une conversion précise et fiable des chaînes mmddyyyy en type de données DATETIME.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!