一、日期類型介紹
首先,我們知道MySQL中有幾種日期和時間類型:
DATE——僅存日期值——格式為'YYYY-MM-DD'
TIME——僅存時間值——格式為'HH:MM:SS'
DATETIME——存日期和時間值——格式為'YYYY-MM-DD HH:MM:SS'
TIMESTAMP——存日期和時間值,範圍為1970年至2037年——格式為'YYYY-MM-DD HH:MM:SS'
YEAR——僅存年份——格式為'YYYY'
每個類型都有它的優缺點,使用時需根據需求進行選擇。
二、日期查詢方法
1、基本查詢
日期查詢的最基本方法就是使用’=’、’!=’、’>’、'<'等運算符對日期進行查詢。例如:
SELECT * FROM students WHERE join_date = '2021-01-01';
這條語句可以查詢在2021年1月1日加入學校的所有學生。
2、使用BETWEEN
使用’BETWEEN’關鍵字可以查詢某個時間段內的數據,其用法如下:
SELECT * FROM students WHERE join_date BETWEEN '2021-01-01' AND '2021-06-30';
這條語句可以查詢2021年1月1日至2021年6月30日加入學校的所有學生。
3、使用IN
‘IN’關鍵字可以用來查詢多個日期的數據,其用法如下:
SELECT * FROM students WHERE join_date IN ('2021-01-01', '2021-02-01', '2021-03-01');
這條語句可以查詢在2021年1月1日、2月1日或3月1日加入學校的所有學生。
三、日期函數
1、DATEDIFF
‘DATEDIFF’函數可以計算兩個日期之間的天數差,其用法如下:
SELECT DATEDIFF('2021-06-30', '2021-01-01');
這條語句可以計算出2021年1月1日至2021年6月30日相隔的天數。
2、DATE_ADD和DATE_SUB
‘DATE_ADD’函數和’DATE_SUB’函數可以在日期上加上或減去指定的時間間隔,其用法如下:
SELECT DATE_ADD('2021-01-01', INTERVAL 1 MONTH);
SELECT DATE_SUB('2021-06-30', INTERVAL 1 YEAR);
第一條語句可以將2021年1月1日加上1個月,得到2月1日;第二條語句可以將2021年6月30日減去1年,得到2020年6月30日。
3、DATE_FORMAT
‘DATE_FORMAT’函數可以將日期格式化為指定的格式,其用法如下:
SELECT DATE_FORMAT('2021-06-30', '%Y年%m月%d日');
這條語句可以將2021年6月30日格式化為’2021年06月30日’的形式。
四、總結
以上就是MySQL日期查詢條件的詳細介紹,涵蓋了基本查詢、BETWEEN、IN、DATEDIFF、DATE_ADD、DATE_SUB和DATE_FORMAT等方面。開發人員應根據項目需求選擇合適的日期類型和查詢方式,並靈活使用日期函數來滿足不同需求。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/189858.html