Maison >base de données >tutoriel mysql >Comment puis-je combiner des champs de date et d'heure distincts en un seul champ DateTime dans MS SQL Server ?

Comment puis-je combiner des champs de date et d'heure distincts en un seul champ DateTime dans MS SQL Server ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-17 17:07:11885parcourir

How Can I Combine Separate Date and Time Fields into a Single DateTime Field in MS SQL Server?

Fusionner les champs de date et d'heure dans MS SQL Server

Lorsque vous travaillez avec des données contenant des colonnes de date et d'heure distinctes, vous devez les fusionner en un seul champ datetime. Cet article explique comment y parvenir dans MS SQL Server.

Utilisez un remplissage nul pour fusionner des champs

Si la composante heure de la colonne "Date" est entièrement nulle et que la composante date de la colonne "Heure" est entièrement nulle (c'est-à-dire date de base : 1er janvier 1900), nous pouvons simplement les additionner pour obtenir le résultat correct. :

<code class="language-sql">SELECT Combined = MyDate + MyTime FROM MyTable</code>

Cela fonctionne car la date et l'heure sont stockées sous forme de deux entiers de 4 octets, les 4 octets de gauche représentant la date et les 4 octets de droite représentant l'heure. En les additionnant, nous combinons efficacement les composants de date et d’heure.

Fusionner les champs à l'aide des types SQL Server 2008

Dans SQL Server 2008 et versions ultérieures, les types de données Date et Heure ont été introduits. Si vous utilisez ces types, vous pouvez les ajouter en les convertissant en datetime :

<code class="language-sql">SELECT Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME) FROM MyTable</code>

Empêcher la perte de précision

Dans SQL Server 2008 et versions ultérieures, l'ajout de valeurs de date et d'heure peut entraîner une perte de précision. Pour éviter cela, l'une des valeurs doit être promue au type datetime2 à l'aide de la fonction CONVERT :

<code class="language-sql">SELECT Combined = CONVERT(datetime2, MyDate) + MyTime FROM MyTable</code>

En suivant ces méthodes, vous pouvez combiner efficacement les colonnes de date et d'heure en un seul champ datetime dans MS SQL Server, quel que soit le type de données utilisé.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn