MySQL作為一種廣泛使用的關係型資料庫,其日期類型與處理也非常的靈活,可以方便地截取日期並按需求進行格式化,本篇文章將從多個方面詳細闡述MySQL截取日期的方法和技巧。
一、MySQL截取日期的年月日
MySQL提供了多種函數可以方便地截取日期,其中最常用的截取方式就是年月日了。我們可以使用DATE_FORMAT函數來輕鬆實現該功能,例如:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS today;
上述語句的意思是,將當前時間戳轉換為年月日的格式,並將其取一個別名為today,執行後會返回如下結果:
+------------+
| today |
+------------+
| 2022-02-17 |
+------------+
通過這種方式,我們就可以方便地截取日期中的年月日信息了。
二、MySQL獲取昨天的日期
在實際的開發中,很多時候需要獲取昨天的日期,MySQL同樣提供了很多方法來實現該功能。下面是其中兩種實現方式:
1.使用DATE_SUB函數:
SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY) AS yesterday;
上述語句的意思是,獲取當前日期的前一天,執行後會返回如下結果:
+------------+
| yesterday |
+------------+
| 2022-02-16 |
+------------+
2.使用DATE_FORMAT函數:
SELECT DATE_FORMAT(SUBDATE(NOW(),1),'%Y-%m-%d') AS yesterday;
上述語句的意思是,將當前日期減去1天,並將結果以年月日的格式返回,執行後會返回如下結果:
+------------+
| yesterday |
+------------+
| 2022-02-16 |
+------------+
三、MySQL截取日期的年份
除了截取年月日,有時還需要截取日期的年份,MySQL提供了YEAR函數來實現該功能,例如:
SELECT YEAR(NOW()) AS year;
上述語句的意思是,獲取當前年份,執行後會返回如下結果:
+------+
| year |
+------+
| 2022 |
+------+
四、MySQL截取日期年份
與截取日期的年份類似,有時還需要截取日期的月份或者日,MySQL提供了MONTH和DAY函數來實現該功能,例如:
SELECT MONTH(NOW()) AS month;
上述語句的意思是,獲取當前月份,執行後會返回如下結果:
+-------+
| month |
+-------+
| 2 |
+-------+
五、MySQL截取日期函數
MySQL提供了多種截取日期的函數,不同函數的使用方式也有所不同,下面是一些常用的截取函數:
1. YEAR():截取年份
2. MONTH():截取月份
3. DAY():截取日份
4. DATE_FORMAT():按照指定格式輸出日期
5. STR_TO_DATE():將字元串轉換為日期
6. DATE_ADD():對日期進行加減運算
以DATE_FORMAT函數為例,具體使用方法如下:
SELECT DATE_FORMAT(NOW(), "%Y-%m-%d %H:%i:%s") AS dt;
上述語句的意思是,以年-月-日 時:分:秒的格式輸出當前日期時間,並將結果取別名為dt,執行後會返回如下結果:
+---------------------+
| dt |
+---------------------+
| 2022-02-17 03:49:58 |
+---------------------+
六、MySQL截取日期年月
與截取日期的年份、月份相似,有時候還需要截取年月,MySQL提供了YEAR和MONTH函數的組合使用方式,例如:
SELECT CONCAT(YEAR(NOW()),'-',MONTH(NOW())) AS ym;
上述語句的意思是,獲取當前日期的年份和月份,並將其以”年份-月份”的格式返回,執行後會返回如下結果:
+---------+
| ym |
+---------+
| 2022-2 |
+---------+
七、MySQL日期數據截取年月日
在實際應用中,我們有時需要對日期數據進行格式化截取來節約存儲空間。MySQL提供了多種截取方式,例如:
1. DATE:僅返回日期部分,格式為YYYY-MM-DD
2. TIME:僅返回時間部分,格式為HH:MM:SS
3. YEAR:僅返回年份部分,格式為YYYY
4. MONTH:僅返回月份部分,格式為MM
5. DAY:僅返回日份部分,格式為DD
下面給出一個示例語句,使用DATE函數截取日期部分:
SELECT DATE(NOW()) AS date;
上述語句的意思是,截取當前日期的日期部分,並將其取別名為date,執行後會返回如下結果:
+------------+
| date |
+------------+
| 2022-02-17 |
+------------+
八、MySQL截取日期類型
在MySQL中,日期類型有多種,包括DATE、DATETIME、TIMESTAMP、TIME等,不同類型的截取方式也有所不同。例如,如果要截取DATETIME類型的日期,可以使用DATE_FORMAT函數,例如:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS dt;
上述語句的意思是,以年-月-日 時:分:秒的格式輸出當前日期時間,並將結果取別名為dt,執行後會返回如下結果:
+---------------------+
| dt |
+---------------------+
| 2022-02-17 04:03:43 |
+---------------------+
九、MySQL截取日期前四位
有時候需要對日期數據進行精簡,例如只要截取日期中的前四位年份信息,可以使用LEFT函數,例如:
SELECT LEFT(NOW(), 4) AS year;
上述語句的意思是,截取當前日期的前4位年份信息,並將其取別名為year,執行後會返回如下結果:
+------+
| year |
+------+
| 2022 |
+------+
十、MySQL截取日期月份
有時候需要截取日期中的月份,在MySQL中可以使用MONTH函數來實現,例如:
SELECT MONTH(NOW()) AS month;
上述語句的意思是,獲取當前日期的月份,並將其取別名為month,執行後會返回如下結果:
+-------+
| month |
+-------+
| 2 |
+-------+
綜上所述,MySQL提供了多種方法來截取日期,具體使用方式根據實際需求選擇即可。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270888.html