mysql日期函数之DATEDIFF() if()用法 case when用法

背景:
用户密码七天后会过期,用户修改密码时会同步添加修改时间进数据库,
登录时校验用户是否需要修改密码,
一开始想的时用代码执行这些操作,用代码计算,发现巨麻烦,一句sql就可以解决的事儿,为什么还要写那么多代码呢,对吧
思路:
过期时间表,专门存储几天后过期,默认七天

用户表

查询的sql语句
使用if()和DATEDIFF()

select
if(E.pastTime>expirationTime, "ture","false") as isUpdate
from
(select DATEDIFF(now(),U.updateTime) pastTime,t.expirationTime
fromoc_expiretime T,oc_users Uwhere U.`name` = 'admin') as E

或者
使用case when和DATEDIFF()

select case expirationTimewhen   E.pastTime>expirationTime then "true"else "false"end as isUpdate
from
(select DATEDIFF(now(),U.updateTime) pastTime,t.expirationTime
fromoc_expiretime T,oc_users Uwhere U.`name` = 'admin') as E

DATEDIFF()函数

DATEDIFF()函数返回 date1-date2 后的值
所以在使用的时候now()(当前时间),也就是离现在时间近的时间一定要在前,离现在时间远的的时间要在后面,否则查出来的时负数
例如:

now()在后面的话就会出现负数

select DATEDIFF(U.updateTime,now()) pastTimefromoc_users Uwhere U.`name` = 'admin'

now()在前,离现在时间远的时间在后面,查出来的是正数

select DATEDIFF(now(),U.updateTime) pastTimefromoc_users Uwhere U.`name` = 'admin'

浮世万千吾爱有三
日月与卿
日为朝月为暮
卿为朝朝暮暮

mysql日期函数之DATEDIFF() if()用法 case when用法相关推荐

  1. 讨论常用的 MySQL 日期函数。

    讨论常用的 MySQL 日期函数. 日期函数和运算符用于日期和时间类型的数据进行操作并返回一个结果.以下是 MySQL 中常见的日期函数和运算符: ADDDATE().DATE_ADD(),为日期时间 ...

  2. 零基础带你学习MySQL—日期函数(十五)

    零基础带你学习MySQL-日期函数(十五) 一.CURRENT_DATE ( ) 当前日期 二.CURRENT_TIME() 当前时间 三.CURRENT_TIMESTAMP()当前时间戳 四.练习

  3. MYSQL ifnull 函数 、if判断 、case when、 locate函数

    1.MYSQL  ifnull 函数 .if判断 .case when. locate (1).IFNULL(expr1,expr2) 如果expr1为空(即NULL),返回expr2,如果expr1 ...

  4. mysql日期函数TO_DAYS()函数

    mysql日期函数TO_DAYS()函数 背景:今天在项目里看到的sqlserver的days()函数,计算从0年开始到给定时间的天数, 现在要修改为mysql语法,有个很奇怪的现象奥,同样都是今天2 ...

  5. MySQL 设计数据表时,时间类型 datetime、bigint、timestamp MySQL日期函数

    阅读目录 阐述 数据表 MySQL 调用存储过程实现批量插入数据 sql 查询速率测试 sql 分组速率测试 sql 排序速率测试 结论 MySQL日期函数 1.DATE() 2.TIME() 3.T ...

  6. Mysql日期函数使用大全

    为什么80%的码农都做不了架构师?>>>    1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有 ...

  7. mysql时间相减得到天数保留两位_[转]Mysql日期函数-日期相减返回天数

    MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数. select datediff('2008-08-08', '2008-08-01'); ...

  8. mysql日期函数,时间函数大全

    mysql获取当前时间,日期函数 获得当前日期函数    date(now()) 获得当前时间函数    time(now()) 获得当前日期+时间(date + time)函数:sysdate() ...

  9. mySQL日期函数并运行_mysql日期相关的函数

    1.获取当前时间: /** 获得当前日期+时间(date + time)函数:now(), 常用 **/ select now() fromdual;/** 获取当前时间戳,current_times ...

最新文章

  1. 2018-3-11 HDFS2.X
  2. python3 进程
  3. YTU 2610: A改错题--体检情况分析
  4. C++11多线程thread参数传递问题
  5. 7步让你get首个数据科学实习
  6. 【应用】如何更好的简化工业现场采集控制?
  7. VS2008中V表结束标记的分析
  8. React之函数式组件使用props
  9. 外呼机器人起名_智能外呼机器人十大厂商
  10. MySQL 的CASE WHEN 语句使用说明
  11. 输入1到100带圈字符Ⓢ你以为很容易的/其实特容易翻车的需求
  12. 荣耀/华为电脑安装重新安装电脑管家实现跟华为手机多屏协同(666)
  13. 超声前置放大器原理是什么意思,前置放大器和功放区别
  14. Words Reciting 2016.5.4
  15. 计算机网络——模拟信号(四)
  16. Tomcat启动缓慢 Creation of SecureRandom instance for ... 花费时间过长的解决方法
  17. python+selenium+pycharm安装
  18. 我的 5 年 Android 学习之路,那些年一起踩过的坑
  19. 如何在 Ubuntu 上使用 AppImage 软件镜像包?
  20. Linux 命令:realpath 命令

热门文章

  1. 网页pdf打印——window.print()
  2. fastnest怎么一键排版_我的妈呀!一键排版也太好用了吧!3秒钟搞定排版!
  3. 卡通人物数据集下载地址
  4. python 四维数据怎么看性别_四维单子上有男女暗示 我告诉你四维彩超怎么分辨男女...
  5. 【抓包】【Mac Charles】局域网无法抓包 手机热点来解决
  6. 枚举子集复杂度 O(n^3) 证明
  7. flutter取消动态字体大小
  8. Vue组件传值、Vue、组件
  9. 发表SCI或EI类英文文章的投稿经验
  10. luogu P4100 [HEOI2013]钙铁锌硒维生素