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

 

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