Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memformat DateTime Tersuai dalam SQL Server kepada 'DDMMM' dan 'HHMMT'?

Bagaimana untuk Memformat DateTime Tersuai dalam SQL Server kepada 'DDMMM' dan 'HHMMT'?

Patricia Arquette
Patricia Arquetteasal
2025-01-01 14:58:11921semak imbas

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

Pemformatan Tarikh/Masa Tersuai dalam Pelayan SQL

Objektif: Format medan Datetime ke dalam dua lajur tambahan: ' DDMMM' dan 'HHMMT' (di mana 'T' mewakili 'A' untuk a.m. dan 'P' untuk p.m.).

Senario: Diberi medan Datetime dengan format 'YYYY-MM-DD HH:MM:SS.S', output yang dikehendaki ialah:

  • '12OKT' untuk lajur 'DDMMM'
  • '0119P' untuk Lajur 'HHMMT'

Penyelesaian:

Daripada menggunakan prosedur tersimpan, pertimbangkan untuk menggunakan fungsi untuk merangkum 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';

Output:

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

Nota:

  • Gunakan gabungan rentetan dalam petikan ('') untuk menggabungkan berbilang rentetan ke dalam hasil.
  • Elakkan aksara/rentetan operasi pada jenis data Datetime kerana ia boleh memberi kesan kepada prestasi.

Petua Tambahan:

Rujuk fungsi penukaran tarikh yang berguna untuk pelbagai senario:

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

Atas ialah kandungan terperinci Bagaimana untuk Memformat DateTime Tersuai dalam SQL Server kepada 'DDMMM' dan 'HHMMT'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn