1.DATE_SUB() 函数从日期减去指定的时间间隔

语法

DATE_SUB(date,INTERVAL expr type)

实例

假设我们有如下的表:

OrderId ProductName OrderDate
1 'Computer' 2008-12-29 16:25:46.635

现在,我们希望从 "OrderDate" 减去 2 天。

我们使用下面的 SELECT 语句:

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate
FROM Orders

结果:

OrderId OrderPayDate
1 2008-12-27 16:25:46.635

2.WEEKDAY函数

返回一个日期的工作日索引值,即星期一为0,星期二为1,星期日为6
WEEKDAY函数的语法:

WEEKDAY(date)

-- 今天
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AS '今天开始';
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') AS '今天结束';

-- 昨天
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 00:00:00') AS '昨天开始';
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 DAY), '%Y-%m-%d 23:59:59') AS '昨天结束';

-- 上周
SELECT DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), '%Y-%m-%d 00:00:00') AS '上周一';
SELECT DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1), '%Y-%m-%d 23:59:59') AS '上周末';

-- 本周
SELECT DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1), '%Y-%m-%d 00:00:00') AS '本周一';(有问题)
SELECT DATE_FORMAT( SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-7), '%Y-%m-%d 23:59:59') AS '本周末';(有问题)
-- 上面的本周算法会有问题,因为mysql是按照周日为一周第一天,如果当前是周日的话,会把时间定为到下一周.
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), '%Y-%m-%d 00:00:00') AS '本周一';
SELECT DATE_FORMAT( DATE_ADD(SUBDATE(CURDATE(), WEEKDAY(CURDATE())), INTERVAL 6 DAY), '%Y-%m-%d 23:59:59') AS '本周末';

-- 上月
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') AS '上月初';
SELECT DATE_FORMAT( LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 23:59:59') AS '上月末';

-- 本月
SELECT DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00') AS '本月初';
SELECT DATE_FORMAT( LAST_DAY(CURDATE()), '%Y-%m-%d 23:59:59') AS '本月末';

mysql常用日期的写法相关推荐

  1. mysql 常用日期,时间函数

    mysql 常用日期,时间函数 转自: http://www.2cto.com/database/201307/230943.html MySQL常用时间函数   1.1 获得当前日期+时间(date ...

  2. mysql常用日期时间函数_MySql常用日期时间函数

    返回当前的日期和时间 select MICROSECOND(SYSDATE()); --0 select SECOND(SYSDATE()); --33 select MINUTE(SYSDATE() ...

  3. MySQL常用日期时间函数

    日期和时间函数 可能的需求: 当前时间是多少.下个月的今天是星期几.统计截止到当前日期前 3 天的收入总和-- 上述需求就需要使用日期和时间函数来实现: MySQL服务器中的三种时区设置: ①系统时区 ...

  4. mysql 常用日期时间计算

    根据当前日期计算: 1.日期格式化: select DATE_FORMAT(now(),'%Y%m%d') // 20220101 select DATE_FORMAT(now(),'%Y/%m/%d ...

  5. [转]mysql常用日期查询语句

    转载自: 网络 查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table w ...

  6. mysql concat 日期_MySQL tips (日期时间操作/concat 等)

    1.  Query结尾要加一个分号: 2.  数据库和表 SHOW DATABASES;    USE YOUR_DB; SHOW TABLES; SHOW COLUMNS FROM study或者D ...

  7. MySQL中常用日期时间函数及获得

    MySQL中常用日期时间函数: 下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DA ...

  8. MySQL 中的常用日期函数

    MySQL 中的常用日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 ...

  9. mysql日期格式化季度_mysql中常用日期比较与计算函数

    MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...

最新文章

  1. Java实现图片去噪和灰度的类
  2. SAPABAP性能优化技巧—使用二分查找(Binary Search)选项
  3. 链表之删除单链表倒数第K个节点
  4. 升级glibc的影响_Java 11 升级:“债务”“危机”
  5. WordPress火箭缓存插件WP Rocket v3.8.8 汉化版
  6. php 重定向 post,使用php curl getpost方法向页面文件发送重定向指令
  7. 监控 MySQL的多种方法
  8. 推荐几个精致的前端Web UI框架
  9. 公安“智慧型”监所解决方案
  10. OSPF高级特性 —— 路由聚合(汇总)
  11. 什么是前端模块化?前端模块化开发到底有无必要
  12. vs登录或者添加账户时说脚本错误
  13. python中print怎么用_python中print的使用方法
  14. 在python中读取文件时如何去除行末的换行符以及在Windows与Linux中的区别
  15. 大名鼎鼎的 Linux —— 进程,线程,协程
  16. Xshell vim使用右侧数字键盘时数字变成英文字母的解决办法
  17. linux系统登录新用户,Linux为新员工创建用户以及配置登录公钥
  18. 字符串匹配 KMP算法 C++
  19. 基于MWORKS.Sysplorer的电子控制器应用案例——永磁同步电机FOC算法建模
  20. Cocos Creator 2D摄像机 [Lv.1] 小视图

热门文章

  1. 微信小程序校园生活小助手+后台管理系统前后分离VUE
  2. 元宇宙的未来:以上帝视角掌控一切,你准备好了吗?
  3. DDD领域驱动设计-分层架构实践
  4. 北理工python程序设计学习笔记——(三)turtle八边形绘制
  5. Kotlin开发第六天,数据存储,持久化
  6. 3D打印中常见的7中材质分析
  7. OLED屏幕的IIC驱动程序
  8. 2017 年度十大最受欢迎的浏览器,你在用哪一款?
  9. RUNA WFE,workflow environment based on JBoss' JBPM engine
  10. python3 绘制盖尔圆