MySQL關於日期時間的問題

整理MySQL中用到的日期時間相關的函數

#日期增加 DAY、MONTH、YEAR
select DATE_ADD(CURDATE(),INTERVAL 2 MONTH);
#日期減去 DAY、MONTH、YEAR
select DATE_SUB(CURDATE(),INTERVAL 2 YEAR);
#查詢當前日期
select CURRENT_DATE();
#查詢當前時間
SELECT CURRENT_TIME();
#獲取當前日期時間
select NOW();
#獲取當前日
select DAY(CURRENT_DATE);
#獲取當前月
select MONTH(CURRENT_DATE);
#獲取當前年
select YEAR(CURRENT_DATE);

日期、時間戳、字符串相互轉換

#日期轉字符串
select DATE_FORMAT(NOW(),'%Y-%m-%d %T');
#日期轉時間戳
select UNIX_TIMESTAMP(NOW());
#字符串轉日期
select STR_TO_DATE('2019-03-6 19:50:6','%Y-%m-%d %T');
#字符串轉時間戳
select UNIX_TIMESTAMP('2017-1-1');
#時間戳轉字符串
select FROM_UNIXTIME(1483204562,'%Y-%m-%d %T');
#時間戳轉日期
select FROM_UNIXTIME(1583204562);

MySQL日期格式化(format)

 

查詢MySQL數據庫時遇到了這樣的問題:

java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date

該錯誤是由於數據庫中的日期類型字段的值爲空,查詢出結果後進行對日期字段進行轉換導致的。網上查詢了一下解決方案有兩種:

方式一:driver-url=jdbc:mysql://127.0.0.1/test?zeroDateTimeBehavior=convertToNull(已驗證

讀取的爲空的日期字段會顯示爲null

方式二:driver-url=jdbc:mysql://127.0.0.1/test?noDatetimeStringSync=true (未驗證)

讀取爲空的日期字段會顯示爲0000-00-00 00:00:00

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章