Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memformat Tersuai Tarikh dan Masa dalam Pelayan SQL untuk Memaparkan DDMMM dan HHMMT?

Bagaimanakah Saya Boleh Memformat Tersuai Tarikh dan Masa dalam Pelayan SQL untuk Memaparkan DDMMM dan HHMMT?

Barbara Streisand
Barbara Streisandasal
2024-12-29 20:26:16174semak imbas

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

Pemformatan Tarikh/Masa Tersuai dalam Pelayan SQL

Memperibadikan format paparan tarikh dan masa dalam SQL Server adalah penting untuk mempersembahkan data dengan cara yang mesra pengguna. Artikel ini akan memberikan penyelesaian yang komprehensif kepada cabaran memformat tarikh dan masa dalam format tertentu, seperti yang digariskan dalam soalan asal.

Pernyataan Masalah:

Tugas di tangan melibatkan mengekstrak dua lajur tambahan daripada medan Datetime jadual sedia ada. Lajur ini hendaklah diformatkan seperti berikut:

  1. DDMMM: Mewakili hari dan bulan dalam tatatanda singkatan, mis., "12OKT" untuk 12 Oktober.
  2. HHMMT: Paparkan masa dalam jam dan minit, dengan penunjuk AM/PM, cth., "0119P" untuk 1:19 PM.

Penyelesaian Menggunakan Fungsi:

Daripada menggunakan prosedur tersimpan, adalah disyorkan untuk menggunakan fungsi untuk membalut logik untuk pemformatan tarikh ini. Berikut ialah kodnya:

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

Fungsi ini mengekstrak bahagian hari ('DD') dan bulan ('MMM') bagi nilai Datetime input dan mengembalikannya digabungkan.

Mengakses Data dalam SQL Dinamik:

Untuk mengakses data menggunakan fungsi, buat SQL dinamik pertanyaan:

DECLARE @SQLCommand VARCHAR(MAX) = '
    SELECT
        ...,
        dbo.CustomDateFormat(DateTimeField) AS DDMMM,
        ...
' 
EXEC (@SQLCommand)

Petua Pengoptimuman:

Untuk mengelakkan penalti prestasi daripada penukaran jenis data, elakkan menggunakan operasi aksara/rentetan pada tarikh apabila boleh. Tarikh dalam MSSQL diwakili sebagai nombor titik terapung dan penukaran kepada/daripada rentetan boleh melambatkan prestasi.

Sumber Tambahan:

Untuk rujukan lanjut, berikut ialah beberapa fungsi pembantu tambahan untuk bekerja dengan tarikh dan masa dalam SQL Server:

  • Mendapatkan Bahagian DateTime
  • Tarikh Relatif

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memformat Tersuai Tarikh dan Masa dalam Pelayan SQL untuk Memaparkan 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