Formatage personnalisé de la date/heure dans SQL Server
Objectif : Formater un champ Datetime en deux colonnes supplémentaires : ' DDMMM' et 'HHMMT' (où 'T' représente 'A' pour matin et 'P' pour pm).
Scénario : Étant donné un champ Datetime au format 'AAAA-MM-JJ HH:MM:SS.S', la sortie souhaitée est :
Solution :
Au lieu d'utiliser une procédure stockée, envisagez d'utiliser une fonction pour encapsuler le logique.
DECLARE @myTime AS DATETIME; SET @myTime = GETDATE(); SELECT @myTime AS OriginalTime; SELECT DATENAME(DAY, @myTime) + SUBSTRING(UPPER(DATENAME(MONTH, @myTime)), 0, 4) AS 'DDMMM';
Sortie :
OriginalTime DDMMM ---------------------- -------------------- 2023-03-08 13:19:12.0 08MAR
Remarque :
Conseil supplémentaire :
Référencez les fonctions de conversion de date utiles pour divers scénarios :
-- Getting Parts of a DateTime SELECT FLOOR(CAST(GETDATE() AS FLOAT)) AS DateOnly, GETDATE() - FLOOR(CAST(GETDATE() AS FLOAT)) AS TimeOnly; -- Relative Dates SELECT GETDATE() AS CurrentTime, DATEADD(dd, 1, GETDATE()) AS Tomorrow; SELECT GETDATE() AS CurrentTime, DATEADD(hh, 1, GETDATE()) AS InOneHour; -- Yearly SELECT DATEADD(yy, -1, GETDATE()) AS LastYear, DATEADD(yy, 1, GETDATE()) AS NextYear; SELECT DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0) AS CurrentYearStart, DATEADD(ms, -4, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()) + 1, 0)) AS CurrentYearEnd;
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!