数据库 · 16 10 月, 2024

MySQL 查詢中日期格式轉換函數簡介

MySQL 查詢中日期格式轉換函數簡介

在數據庫管理中,日期和時間的處理是非常重要的一環。MySQL 提供了多種函數來處理日期格式的轉換,這些函數能夠幫助開發者在查詢中更有效地操作和顯示日期數據。本文將介紹幾個常用的日期格式轉換函數,並提供相應的示例。

1. DATE_FORMAT 函數

DATE_FORMAT 函數用於格式化日期值,根據指定的格式返回日期。其語法如下:

DATE_FORMAT(date, format)

其中,date 是要格式化的日期,format 是格式字符串。格式字符串可以包含多種格式符號,例如:

  • %Y – 四位數年份
  • %y – 兩位數年份
  • %m – 月份(01 到 12)
  • %d – 日(01 到 31)
  • %H – 小時(00 到 23)
  • %i – 分鐘(00 到 59)
  • %s – 秒(00 到 59)

例如,將日期格式化為“YYYY-MM-DD”格式:

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');

2. STR_TO_DATE 函數

STR_TO_DATE 函數用於將字符串轉換為日期格式。其語法如下:

STR_TO_DATE(str, format)

其中,str 是要轉換的字符串,format 是字符串的格式。這對於從非標準格式的字符串中提取日期非常有用。

例如,將字符串“31-12-2023”轉換為日期格式:

SELECT STR_TO_DATE('31-12-2023', '%d-%m-%Y');

3. UNIX_TIMESTAMP 函數

UNIX_TIMESTAMP 函數用於返回自1970年1月1日以來的秒數。這對於需要進行時間戳計算的情況非常有用。其語法如下:

UNIX_TIMESTAMP(date)

例如,獲取當前時間的 UNIX 時間戳:

SELECT UNIX_TIMESTAMP(NOW());

4. FROM_UNIXTIME 函數

FROM_UNIXTIME 函數則是將 UNIX 時間戳轉換為日期格式。其語法如下:

FROM_UNIXTIME(unix_timestamp, format)

例如,將 UNIX 時間戳轉換為“YYYY-MM-DD”格式:

SELECT FROM_UNIXTIME(1672531199, '%Y-%m-%d');

5. DATE_ADD 和 DATE_SUB 函數

這兩個函數用於在日期上加上或減去指定的時間間隔。其語法如下:

DATE_ADD(date, INTERVAL expr unit)
DATE_SUB(date, INTERVAL expr unit)

例如,將當前日期加上 10 天:

SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);

而減去 5 天則可以這樣寫:

SELECT DATE_SUB(NOW(), INTERVAL 5 DAY);

總結

MySQL 提供了多種日期格式轉換函數,這些函數能夠幫助開發者在查詢中靈活地處理日期數據。無論是格式化日期、轉換字符串為日期,還是進行時間戳計算,這些函數都能提供有效的解決方案。對於需要在香港進行數據庫管理的開發者來說,掌握這些函數將大大提高工作效率。如果您需要更多有關 香港VPS 的資訊,請訪問我們的網站。