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:
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:
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!