首頁 > 資料庫 > mysql教程 > 如何將 SQL Server 中的日期時間自訂格式為「DDMMM」和「HHMMT」?

如何將 SQL Server 中的日期時間自訂格式為「DDMMM」和「HHMMT」?

Patricia Arquette
發布: 2025-01-01 14:58:11
原創
881 人瀏覽過

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

SQL Server 中的自訂日期/時間格式

目標: 將日期時間欄位格式化為另外兩列: ' DDMMM' 和'HHMMT'(其中“T”代表“A”代表上午,“P”代表p.m.).

場景:給定一個格式為“YYYY-MM-DD HH:MM :SS.S」的日期時間字段,所需的輸出為:

  • “DDMMM”的“12OCT” 'HHMMT' 欄位
  • '0119P'

解決方案:

不要使用儲存過程,請考慮使用函數來封裝邏輯。

DECLARE @myTime AS DATETIME;

SET @myTime = GETDATE();

SELECT @myTime AS OriginalTime;

SELECT DATENAME(DAY, @myTime) + SUBSTRING(UPPER(DATENAME(MONTH, @myTime)), 0, 4) AS 'DDMMM';
登入後複製

輸出:

OriginalTime          DDMMM
---------------------- --------------------
2023-03-08 13:19:12.0 08MAR
登入後複製

注意:

  • 注意:
在引號內使用字串組合('') 將多個字串連接到結果。

避免對日期時間資料類型進行字元/字串操作,因為它們會影響效能。

其他提示:
-- 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;
登入後複製
參考各種場景中有用的日期轉換函數:

以上是如何將 SQL Server 中的日期時間自訂格式為「DDMMM」和「HHMMT」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板