La personnalisation du format d'affichage des dates et des heures dans SQL Server est essentielle pour présenter les données de manière conviviale. Cet article fournira une solution complète au défi du formatage des dates et des heures dans un format spécifique, comme indiqué dans la question d'origine.
Énoncé du problème :
La tâche à portée de main consiste à extraire deux colonnes supplémentaires du champ Datetime d'une table existante. Ces colonnes doivent être formatées comme suit :
Solution utilisant des fonctions :
Au lieu d'utiliser une procédure stockée, il est recommandé d'utiliser une fonction pour envelopper la logique de ce formatage de date. Voici le code :
CREATE FUNCTION [dbo].[CustomDateFormat]( @DateTime DATETIME ) RETURNS VARCHAR(10) AS BEGIN DECLARE @Day VARCHAR(2) = SUBSTRING(DATENAME(DAY, @DateTime), 1, 2) DECLARE @Month VARCHAR(3) = SUBSTRING(UPPER(DATENAME(MONTH, @DateTime)), 1, 3) RETURN @Day + @Month END
Cette fonction extrait les parties jour ('DD') et mois ('MMM') de la valeur Datetime d'entrée et les renvoie concaténées.
Accès aux données en SQL dynamique :
Pour accéder aux données à l'aide de la fonction, créez un SQL dynamique requête :
DECLARE @SQLCommand VARCHAR(MAX) = ' SELECT ..., dbo.CustomDateFormat(DateTimeField) AS DDMMM, ... ' EXEC (@SQLCommand)
Conseil d'optimisation :
Pour éviter les pénalités de performances liées aux conversions de types de données, évitez autant que possible d'utiliser des opérations de caractères/chaînes sur les dates. Les dates dans MSSQL sont représentées sous forme de nombres à virgule flottante, et les conversions vers/depuis des chaînes peuvent ralentir les performances.
Ressources supplémentaires :
Pour référence ultérieure, voici quelques fonctions d'assistance supplémentaires pour travailler avec les dates et les heures dans SQL Server :
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!