Maison > base de données > tutoriel mysql > Comment puis-je personnaliser le format de la date et de l'heure dans SQL Server pour afficher DDMMM et HHMMT ?

Comment puis-je personnaliser le format de la date et de l'heure dans SQL Server pour afficher DDMMM et HHMMT ?

Barbara Streisand
Libérer: 2024-12-29 20:26:16
original
158 Les gens l'ont consulté

How Can I Custom Format Date and Time in SQL Server to Display DDMMM and HHMMT?

Formatage personnalisé de la date/heure dans SQL Server

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 :

  1. DDMMM : Représente le jour et le mois sous une notation abrégée, par exemple "12OCT" pour le 12 octobre.
  2. HHMMT : Affiche l'heure en heures et minutes, avec un indicateur AM/PM, par exemple, "0119P" pour 13h19.

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

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

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 :

  • Obtenir des parties d'un DateHeure
  • Dates relatives

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