首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL DATE_FORMAT 截取 DateTime 字段日期部分

     編輯:MySQL 資料庫相關知識

標準寫法

SELECT DATE_FORMAT(crt_time, '%Y-%m-%d') FROM ad_n_advertise_t;

格式化符號速查表

符號含義示例
%Y四位年份2024
%y兩位年份24
%m月份 (01-12)01
%d日期 (01-31)15
%H小時 24制 (00-23)14
%h小時 12制 (01-12)02
%i分鐘 (00-59)30
%s秒 (00-59)45
%W星期名稱Monday
%M月份名稱January

常用組合模板

-- 日期:2024-01-15
DATE_FORMAT(dt, '%Y-%m-%d')

-- 時間:14:30:45
DATE_FORMAT(dt, '%H:%i:%s')

-- 日期時間:2024-01-15 14:30:45
DATE_FORMAT(dt, '%Y-%m-%d %H:%i:%s')

-- 中文格式:2024年01月15日
DATE_FORMAT(dt, '%Y年%m月%d日')

-- 緊湊格式:20240115143045
DATE_FORMAT(dt, '%Y%m%d%H%i%s')

替代方案對比

方法語法返回類型性能適用場景
DATE_FORMATDATE_FORMAT(dt, '%Y-%m-%d')VARCHAR中格式化輸出、報表展示
DATEDATE(dt)DATE快日期比較、篩選、索引友好
CASTCAST(dt AS DATE)DATE快類型轉換、標準 SQL
SUBSTRINGSUBSTRING(dt, 1, 10)VARCHAR快極簡提取、固定格式

最佳實踐建議

  1. WHERE 條件/連接/分組:用 DATE(crt_time) = '2024-01-15' 或 crt_time >= '2024-01-15' AND crt_time < '2024-01-16'(利用索引)
  2. SELECT 輸出展示:用 DATE_FORMAT 格式化
  3. 避免在 WHERE 中對列使用函數(如 DATE_FORMAT(crt_time, ...) = ...),導致索引失效
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved