Heim >Datenbank >MySQL-Tutorial >Wie formatiere ich DateTime in SQL Server benutzerdefiniert auf „DDMMM' und „HHMMT'?

Wie formatiere ich DateTime in SQL Server benutzerdefiniert auf „DDMMM' und „HHMMT'?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-01 14:58:11897Durchsuche

How to Custom Format DateTime in SQL Server to 'DDMMM' and 'HHMMT'?

Benutzerdefinierte Datums-/Uhrzeitformatierung in SQL Server

Ziel: Formatieren Sie ein Datetime-Feld in zwei zusätzliche Spalten: ' DDMMM“ und „HHMMT“ (wobei „T“ für „A“ für „am“ und „P“ für steht Uhr).

Szenario: Bei einem Datum/Uhrzeit-Feld mit dem Format „JJJJ-MM-TT HH:MM:SS.S“ lautet die gewünschte Ausgabe:

  • '12OCT' für die Spalte 'DDMMM'
  • '0119P' für die Spalte 'HHMMT' Spalte

Lösung:

Anstatt eine gespeicherte Prozedur zu verwenden, sollten Sie erwägen, eine Funktion zum Kapseln zu verwenden Logik.

DECLARE @myTime AS DATETIME;

SET @myTime = GETDATE();

SELECT @myTime AS OriginalTime;

SELECT DATENAME(DAY, @myTime) + SUBSTRING(UPPER(DATENAME(MONTH, @myTime)), 0, 4) AS 'DDMMM';

Ausgabe:

OriginalTime          DDMMM
---------------------- --------------------
2023-03-08 13:19:12.0 08MAR

Hinweis:

  • Verwenden Sie Zeichenfolgenkombinationen in Anführungszeichen (''), um mehrere Zeichenfolgen im Ergebnis zu verketten.
  • Vermeiden Sie Zeichen-/Zeichenfolgenoperationen bei Datetime Datentypen, da sie sich auf die Leistung auswirken können.

Zusätzlicher Tipp:

Referenz nützliche Datumskonvertierungsfunktionen für verschiedene Szenarien:

-- 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;

Das obige ist der detaillierte Inhalt vonWie formatiere ich DateTime in SQL Server benutzerdefiniert auf „DDMMM' und „HHMMT'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn