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
Libérer: 2025-01-17 17:07:11
original
884 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal