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ù)用于獲取日期的星期和月份名稱(chēng)。
SELECT DAYNAME('2023-07-06'); -- 獲取日期的星期名稱(chēng),例如'Wednesday' SELECT MONTHNAME('2023-07-06'); -- 獲取日期的月份名稱(chēng),例如'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)文章
MySQL操作數(shù)據(jù)庫(kù)實(shí)戰(zhàn)指南
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)操作庫(kù)的相關(guān)資料,MySQL數(shù)據(jù)庫(kù)是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),所采用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)最常用的標(biāo)準(zhǔn)會(huì)語(yǔ)言,需要的朋友可以參考下2023-07-07MySQL?根據(jù)多字段查詢重復(fù)數(shù)據(jù)的示例代碼
本文介紹了如何使用 MySQL 根據(jù)多個(gè)字段查詢重復(fù)數(shù)據(jù),我們介紹了如何根據(jù)多個(gè)字段查詢重復(fù)數(shù)據(jù),并提供了相應(yīng)的代碼示例,通過(guò)這些方法,我們可以快速準(zhǔn)確地找到和處理重復(fù)數(shù)據(jù),提高數(shù)據(jù)庫(kù)的數(shù)據(jù)質(zhì)量,需要的朋友可以參考下2023-11-11QT連接MYSQL數(shù)據(jù)庫(kù)的詳細(xì)步驟
這篇文章主要介紹了QT連接MYSQL數(shù)據(jù)庫(kù)的詳細(xì)步驟,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07深入sql多表差異化聯(lián)合查詢的問(wèn)題詳解
本篇文章是對(duì)sql多表差異化聯(lián)合查詢的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06詳解oracle mysql 中的“不等于“ <> != ^=&nbs
oracle中的 != 與 <> 和 ^= 都是不等于,邏輯上沒(méi)有區(qū)別而mysql中,<> 和 != 相同,接下來(lái)通過(guò)本文給大家詳細(xì)講解oracle mysql 中的“不等于“ <> != ^= is not,感興趣的朋友一起看看吧2023-04-04