Fusion des colonnes de date et d'heure dans MS SQL Server
Les extraits de données présentent parfois les dates et les heures dans des colonnes séparées. Cet article montre comment les combiner efficacement en une seule colonne datetime dans MS SQL Server.
La solution :
Une méthode simple consiste à ajouter directement les champs de date et d'heure. Cependant, cela nécessite deux hypothèses clés :
date
doit toujours être minuit (00:00:00).time
doit être la date de base (1er janvier 1900).Si ces conditions sont remplies, la requête SQL suivante fusionnera avec succès les données :
<code class="language-sql">SELECT CombinedDateTime = MyDate + MyTime FROM MyTable;</code>
Explication :
Cela fonctionne grâce à la représentation interne du type de données datetime
. Il utilise deux entiers de 4 octets ; un pour la date et un pour l'heure. Leur ajout direct produit la valeur datetime combinée correcte.
Remarques importantes :
date
et time
distincts (disponibles à partir de SQL Server 2008), convertissez explicitement les deux champs en datetime
avant l'ajout : CAST(MyDate AS DATETIME) CAST(MyTime AS DATETIME)
.datetime
et time
peut entraîner une perte de précision. Pour une solution qui préserve la précision, reportez-vous à [documentation/article pertinent](link_to_relevant_article_or_documentation_here - remplacer par le lien réel si disponible). Cela impliquerait d'utiliser des fonctions comme DATETIMEFROMPARTS
pour un contrôle plus granulaire.Cette approche fournit une solution simple et efficace pour combiner les champs de date et d'heure dans les conditions spécifiées. Pour les scénarios avec des données plus complexes, des méthodes alternatives peuvent être nécessaires.
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!