MySQL日期格式以及日期函數(shù)舉例詳解
1. 日期格式
在MySQL中,日期可以使用多種格式進(jìn)行存儲(chǔ)和表示。常見(jiàn)的日期格式包括:
- DATE:僅包含日期部分,格式為'YYYY-MM-DD',例如'2023-07-06'。
- TIME:僅包含時(shí)間部分,格式為'HH:MM:SS',例如'13:30:45'。
- DATETIME:包含日期和時(shí)間部分,格式為'YYYY-MM-DD HH:MM:SS',例如'2023-07-06 13:30:45'。
- TIMESTAMP:包含日期和時(shí)間部分,格式為'YYYY-MM-DD HH:MM:SS',與DATETIME相似,但在存儲(chǔ)和使用上有一些差異。
在實(shí)際使用中,可以根據(jù)需求選擇合適的日期格式進(jìn)行存儲(chǔ)和處理。
2. 日期函數(shù)
MySQL提供了豐富的日期函數(shù),用于對(duì)日期進(jìn)行各種操作和計(jì)算。下面介紹一些常用的日期函數(shù):
CURDATE()和CURRENT_DATE()
CURDATE()和CURRENT_DATE()函數(shù)返回當(dāng)前日期。它們的使用方式相同,可以直接調(diào)用這兩個(gè)函數(shù)獲取當(dāng)前日期。
SELECT CURDATE(); -- 返回當(dāng)前日期,例如'2023-07-06' SELECT CURRENT_DATE(); -- 返回當(dāng)前日期,例如'2023-07-06'
CURTIME()和CURRENT_TIME()
CURTIME()和CURRENT_TIME()函數(shù)返回當(dāng)前時(shí)間。它們的使用方式相同,可以直接調(diào)用這兩個(gè)函數(shù)獲取當(dāng)前時(shí)間。
SELECT CURTIME(); -- 返回當(dāng)前時(shí)間,例如'13:30:45' SELECT CURRENT_TIME(); -- 返回當(dāng)前時(shí)間,例如'13:30:45'
NOW()和CURRENT_TIMESTAMP()
NOW()和CURRENT_TIMESTAMP()函數(shù)返回當(dāng)前日期和時(shí)間。它們的使用方式相同,可以直接調(diào)用這兩個(gè)函數(shù)獲取當(dāng)前日期和時(shí)間。
SELECT NOW(); -- 返回當(dāng)前日期和時(shí)間,例如'2023-07-06 13:30:45' SELECT CURRENT_TIMESTAMP(); -- 返回當(dāng)前日期和時(shí)間,例如'2023-07-06 13:30:45'
DATE_FORMAT()
DATE_FORMAT()函數(shù)用于將日期按照指定的格式進(jìn)行格式化。可以使用不同的格式化符號(hào)來(lái)表示年、月、日、小時(shí)、分鐘、秒等。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 格式化當(dāng)前日期和時(shí)間,例如'2023-07-06 13:30:45' SELECT DATE_FORMAT(NOW(), '%W, %M %e, %Y'); -- 格式化當(dāng)前日期,例如'Wednesday, July 6, 2023'
DATE_ADD()和DATE_SUB()
DATE_ADD()和DATE_SUB()函數(shù)用于對(duì)日期進(jìn)行加減操作??梢灾付ㄒ訙p的日期部分(年、月、日等)和相應(yīng)的值。
SELECT DATE_ADD(NOW(), INTERVAL 2 DAY); -- 當(dāng)前日期加2天 SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH); -- 當(dāng)前日期減1個(gè)月
DATEDIFF()
DATEDIFF()函數(shù)用于計(jì)算兩個(gè)日期之間的天數(shù)差。
SELECT DATEDIFF('2023-07-10', '2023-07-06'); -- 計(jì)算兩個(gè)日期之間的天數(shù)差,結(jié)果為4
DATE()
DATE()函數(shù)用于提取日期部分。
SELECT DATE(NOW()); -- 提取當(dāng)前日期部分,例如'2023-07-06'
DAYNAME()和MONTHNAME()
DAYNAME()和MONTHNAME()函數(shù)用于獲取日期的星期和月份名稱。
SELECT DAYNAME('2023-07-06'); -- 獲取日期的星期名稱,例如'Wednesday'
SELECT MONTHNAME('2023-07-06'); -- 獲取日期的月份名稱,例如'July'
3. Java示例代碼
下面是使用Java和MySQL進(jìn)行日期操作的示例代碼:
import java.sql.*;
import java.text.SimpleDateFormat;
public class DateExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try {
// 連接數(shù)據(jù)庫(kù)
Connection connection = DriverManager.getConnection(url, username, password);
// 獲取當(dāng)前日期
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT CURDATE()");
if (resultSet.next()) {
Date currentDate = resultSet.getDate(1);
System.out.println("Current date: " + currentDate);
}
// 格式化日期
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(new java.util.Date());
System.out.println("Formatted date: " + formattedDate);
// 關(guān)閉連接
resultSet.close();
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
運(yùn)行上述示例代碼,您將看到當(dāng)前日期和格式化日期的輸出結(jié)果。
4. 總結(jié)
本文詳細(xì)介紹了MySQL中的日期格式及日期函數(shù)。通過(guò)對(duì)日期格式的解釋和常用日期函數(shù)的講解,大家應(yīng)該對(duì)MySQL中的日期操作有了更深入的了解。
- 日期格式包括DATE、TIME、DATETIME和TIMESTAMP,可以根據(jù)需求選擇合適的格式進(jìn)行存儲(chǔ)和處理。
- 日期函數(shù)包括CURDATE()、CURRENT_DATE()、CURTIME()、CURRENT_TIME()、NOW()、CURRENT_TIMESTAMP()、DATE_FORMAT()、DATE_ADD()、DATE_SUB()、DATEDIFF()、DATE()、DAYNAME()和MONTHNAME(),可以用于日期的獲取、格式化、計(jì)算和比較等操作。
到此這篇關(guān)于MySQL日期格式以及日期函數(shù)的文章就介紹到這了,更多相關(guān)MySQL日期格式及日期函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mysql日期格式以及內(nèi)置日期函數(shù)用法詳解
- 使用Pandas?實(shí)現(xiàn)MySQL日期函數(shù)的解決方法
- mysql日期函數(shù)TO_DAYS()函數(shù)的詳細(xì)講解
- MySQL學(xué)習(xí)之日期函數(shù)的用法詳解
- MySQL日期函數(shù)與時(shí)間函數(shù)匯總(MySQL 5.X)
- MySQL日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)大全
- mysql 獲取當(dāng)前日期函數(shù)及時(shí)間格式化參數(shù)詳解
- 深入mysql YEAR() MONTH() DAYOFMONTH()日期函數(shù)的詳解
- mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函數(shù)
- mysql日期函數(shù)用法大全
相關(guān)文章
Datagrip2020下載MySQL驅(qū)動(dòng)失敗的問(wèn)題
這篇文章主要介紹了Datagrip2020下載MySQL驅(qū)動(dòng)失敗的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Mysql常見(jiàn)bug及解決方案超詳細(xì)講解
在使用MySQL的過(guò)程中,相比大家都踩過(guò)不少坑,下面這篇文章主要給大家介紹了關(guān)于Mysql常見(jiàn)bug及解決方案超詳細(xì)講解的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
探究MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響
這篇文章主要介紹了MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響,作者通過(guò)實(shí)際測(cè)試運(yùn)行時(shí)間的對(duì)比來(lái)驗(yàn)證,需要的朋友可以參考下2015-05-05
MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecat
安裝mysql的時(shí)候出現(xiàn)TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details),可以參考下面的方法解決2015-08-08
MySql 5.6.35 winx64 安裝詳細(xì)教程
這篇文章主要介紹了MySql 5.6.35 winx64 安裝詳細(xì)教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
MySQL 中處理 BLOB 和 CLOB 數(shù)據(jù)類型小結(jié)
在MySQL中,BLOB和CLOB 數(shù)據(jù)類型用于存儲(chǔ)大量的二進(jìn)制數(shù)據(jù)和字符數(shù)據(jù),可以使用SQL 語(yǔ)句或編程語(yǔ)言將二進(jìn)制數(shù)據(jù)和字符數(shù)據(jù)插入到BLOB 和CLOB列中,這篇文章主要介紹了MySQL 中處理 BLOB 和 CLOB 數(shù)據(jù)類型,需要的朋友可以參考下2025-03-03

