系统运维系列 之mysql日期加减运算

1 比较两个日期的大小:
(1) Where Date Between ‘2020-01-01’ And ‘2020-01-31’
(2) Where Date >=‘2020-01-01’
(3) Where Date <=‘2020-01-01’
(4) Where Date =‘2020-01-01’

2 判断在当前日期一周或者一月之内的方法:
(1) Date between CURRENT_DATE and CURRENT_DATE+7
Date between CURRENT_DATE and CURRENT_DATE+30
(2) Date between CURRENT_DATE and date_add(CURRENT_DATE,interval 1 week)
Date between CURRENT_DATE and date_add(CURRENT_DATE,interval 1 month)
其中方法(1)的日期查询出来是去掉’-'的,方法(2)正常显示,但是实际测试下来两种方法都可以使用。

补充:常用函数
(1) 为日期增加一个时间间隔:date_add()
(2) 为日期减去一个时间间隔:date_sub()
(3) 日期格式化:DATE_FORMAT(date,format)
常用的部分格式化标识符为:
%Y:年,4位;
%y:年,2位;
%M:月,月名称,如January;
%m:月,2位(01-12);
%D:日,如1st,2nd;
%d:日,2位(01-31);
%H:时,2位,24小时制;
%h:时,12小时制;
%i:分,2位(00-59);
%S或%s:秒,2位(00-59);
例如:date_format(current_date,’%Y/%m/%d’) 显示为2021/03/01
(4) 提取特定部分的函数:Extract() 函数
例如:select extract(year from date)
select extract(month from date)

3 datetime和timestamp区别:
3-1 datetime 的日期范围比较大;timestamp 所占存储空间比较小;
3-2 timestamp 类型的列有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新;
3-3 timestamp存储的时间会自动转换为utc(格林威治标准时间),北京时间是东八区和它差了8个小时,再存储的时候会减去8小时,所以如果用mybatis操作的读取,需要配置下再加上8小时;datetime是不会做出任何转变。

参考资料:
https://blog.csdn.net/qq_19865749/article/details/78535414?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328576.12305.16146674047945329&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control MySQL 笔记–时间函数、时间比较
https://www.cnblogs.com/xuelu/p/3770478.html mysql日期加减运算

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值