首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server CONVERT 日期時間格式代碼完整對照表 (含輸出範例)

     編輯:關於SqlServer

    語法

    CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

    style 代碼決定輸出格式;varchar(100) 長度需足夠容納最長格式 (如 109/113 需 30+)。

    常用格式速查表

    Style標準輸出範例 (2006-05-16 10:57:47.157)備註
    0 / 100預設Mon DD YYYY HH:MIAM05 16 2006 10:57AM
    1美式MM/DD/YY05/16/06
    2ANSIYY.MM.DD06.05.16
    3英式/法式DD/MM/YY16/05/06
    4德式DD.MM.YY16.05.06
    5義式DD-MM-YY16-05-06
    6-DD MON YY16 05 06
    7-MON DD, YY05 16, 06
    8-HH:MI:SS10:57:46
    9 / 109預設+毫秒Mon DD YYYY HH:MI:SS:MMMAM05 16 2006 10:57:46:827AM
    10USAMM-DD-YY05-16-06
    11日本YY/MM/DD06/05/16
    12ISOYYMMDD060516
    13 / 113歐洲預設+毫秒DD MON YYYY HH:MI:SS:MMM16 05 2006 10:57:46:937
    14-HH:MI:SS:MMM10:57:46:967
    20ODBC 標準YYYY-MM-DD HH:MI:SS2006-05-16 10:57:47
    21ODBC+毫秒YYYY-MM-DD HH:MI:SS.MMM2006-05-16 10:57:47.157
    22USA+秒MM/DD/YY HH:MI:SS AM/PM05/16/06 10:57:47 AM
    23ISO 日期YYYY-MM-DD2006-05-16
    24ISO 時間HH:MI:SS10:57:47
    25ODBC+毫秒(另)YYYY-MM-DD HH:MI:SS.MMM2006-05-16 10:57:47.250
    101USA 完整年MM/DD/YYYY05/16/2006
    102ANSI 完整年YYYY.MM.DD2006.05.16
    103英式/法式完整年DD/MM/YYYY16/05/2006
    104德式完整年DD.MM.YYYY16.05.2006
    105義式完整年DD-MM-YYYY16-05-2006
    106-DD MON YYYY16 05 2006
    107-MON DD, YYYY05 16, 2006
    108時間 24HHH:MI:SS10:57:49
    110USA 完整年MM-DD-YYYY05-16-2006
    111日本 完整年YYYY/MM/DD2006/05/16
    112ISO 精簡YYYYMMDD20060516
    114時間 24H+毫秒HH:MI:SS:MMM10:57:49:547
    120ODBC 標準YYYY-MM-DD HH:MI:SS2006-05-16 10:57:49
    121ODBC+毫秒(7位)YYYY-MM-DD HH:MI:SS.MMMMMMM2006-05-16 10:57:49.700
    126ISO8601YYYY-MM-DDTHH:MI:SS.MMM2006-05-16T10:57:49.827
    130伊斯蘭曆DD MON YYYY HH:MI:SS:MMMAM18 ??? ???? 1427 10:57:49:907AM
    131伊斯蘭曆/數字DD/MM/YYYY HH:MI:SS:MMMAM18/04/1427 10:57:49:920AM

    最佳實務建議

    • 資料交換/JSON/API:統一使用 126 (ISO8601) 或 127 (含時區),語系無關、可排序、標準化。
    • 僅需日期:CONVERT(date, GETDATE()) (SQL 2008+) 或 Style 112/23。
    • 排序/分組:Style 112 (YYYYMMDD) 字串即可正確排序。
    • 避免隱含轉換:WHERE CreatedAt = '2024-01-01' 可能因語系解析失敗,改用 WHERE CreatedAt >= '20240101' AND CreatedAt < '20240102'。

    進階:FORMAT 函數 (SQL 2012+)

    SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss', 'zh-TW'); -- 自訂格式,支援文化特性
    效能較 CONVERT 低,適合報表/顯示層,不適合高頻查詢過濾。
    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved