Maison > base de données > tutoriel mysql > Comment puis-je extraire efficacement la partie date d'une valeur DateTime dans SQL Server ?

Comment puis-je extraire efficacement la partie date d'une valeur DateTime dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-13 07:55:42
original
978 Les gens l'ont consulté

How Can I Efficiently Extract the Date Part from a DateTime Value in SQL Server?

Extraire la date de la valeur datetime de SQL Server

La plupart des applications SQL gèrent des données contenant des composants de date et d'heure. Cependant, dans certains cas, il suffit d'extraire la partie date et de supprimer les informations temporelles. Ceci peut être réalisé efficacement grâce à diverses techniques dans SQL Server.

La méthode la plus efficace

Bien que plusieurs méthodes existent, le moyen le plus efficace d'extraire des dates de datetime dans SQL Server est d'utiliser une combinaison de la fonction DATEADD() et de la fonction DATEDIFF(). Cette méthode comprend les étapes suivantes :

  1. Utilisez DATEDIFF(DAY, 0, ) pour calculer le nombre de jours entre 0 et la date/heure donnée. Cette étape calcule efficacement le décalage quotidien par rapport à l'époque (1er janvier 1900).
  2. Appliquez DATEADD() au champ DAY et utilisez le résultat de l'étape 1 pour obtenir une nouvelle date/heure avec son composant horaire réinitialisé à 00:00:00.

Par exemple :

<code class="language-sql">SELECT DATEADD(DAY, DATEDIFF(DAY, 0, '2008-09-25 12:34:56'), 0)</code>
Copier après la connexion

Comparé à d'autres options telles que la conversion en utilisant CAST(FLOOR(CAST(... AS FLOAT)) AS DATETIME) ou CONVERT(DATETIME, CONVERT(VARCHAR(10), ..., 120), 120) , ceci Il a été prouvé que cette méthode est la méthode la plus rapide et la plus efficace.

Référence

Les tests de performances sur un ensemble de données contenant plus de 130 millions de lignes d'enregistrements avec des horodatages précis à la milliseconde près ont montré les résultats suivants :

方法 CPU时间(ms)
纯SELECT 422
Floor-Cast 625
字符串转换 1953
DateAdd 531

Il convient de noter que les performances peuvent varier en fonction de la taille, de la distribution et d'autres facteurs de vos données.

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