• mysql的日期与时间函数,varchar与date相互转换


    1.mysql获取系统时间

    1.获取当前系统时间

    在后面加上一个0,可以将当前查询到的时间转成数字输出。

    1.获取当前日期+时间

    函数:

    函数说明
    now()函数开始执行就获取到值
    sysdate()函数执行期间动态获取值
    select now(), sysdate();
    
    • 1

    2.获取当前日期

    函数
    curdate()
    current_date()
    current_date
    select curdate(), current_date(), current_date, CURRENT_DATE() + 0;
    
    • 1

    3.获取当前时间

    函数
    curtime()
    current_time()
    current_time
    select curtime(), current_time(), current_time, current_time()+0;
    
    • 1

    4.获取UTC时间

    select utc_date()+0, utc_time(), utc_timestamp;
    
    • 1

    2.获取昨天、今天、明天的,上一小时,下一小时的时间

    1.昨天、今天、明天

    日期相减

    函数说明

    DATE_SUB(date,INTERVAL expr type)

    date:合法的日期表达式
    expr:时间间隔
    type:second、hour、day、minute…

    日期 + 时间:

    select date_sub(now(),interval 1 day) as '昨天',
    	   date_sub(now(),interval 0 day) as '今天',
    	   date_sub(now(),interval -1 day) as '明天'
    
    • 1
    • 2
    • 3

    日期:

    select date_sub(curdate(),interval 1 day) as '昨天',
    	   date_sub(curdate(),interval 0 day) as '今天',
    	   date_sub(curdate(),interval -1 day) as '明天'
    
    • 1
    • 2
    • 3

    2.上一小时,前30分钟,后四十五分钟

    select date_sub(now(),interval 1 hour) as '上一小时',
    	   date_sub(now(),interval 30 minute) as '前30分钟',
    	   date_sub(now(),interval 45 minute) as '后四十五分钟';
    
    • 1
    • 2
    • 3

    3.日期相减、时间相减

    函数说明
    DATEDIFF(date1,date2)date1:合法的日期表达式
    date2:合法的日期表达式
    TIMEDIFF(time1,time2)time1:合法的时间表达式
    time2:合法的时间表达式
    select datediff(now(),date_sub(now(),interval 1 day)) as '日期相减';
    
    • 1

    select timediff(now(),date_sub(date_sub(now(),interval 45 minute),interval 1 day)) as '时间相减';
    
    • 1

    4.日期相加、时间相加

    日期相加

    函数说明
    DATE_ADD(date,INTERVAL expr type)见DATE_SUB
    TIMEDIFF(time1,time2)time1:合法的时间表达式
    time2:合法的时间表达式
    select date_add(now(),interval 3 day) as '三天后', 
    	   date_add(now(),interval 30 minute) as '半小时后'; 
    
    • 1
    • 2

    5.补充——sleep()

    函数说明
    sleep()让SQL语句执行一段时间,单位是秒
    select sleep(5), now(), sysdate();
    
    • 1

    2.mysql的varchar与date的转换

    1.varchar转date

    函数格式说明
    str_to_dateSTR_TO_DATE(str,fmt)str:字符串
    fmt:时间格式
    select str_to_date('2022 7 26','%Y %m %d') as '今天',
    	   str_to_date('2022,27,7','%Y,%d,%m') as '明天',
    	   str_to_date('2022725','%Y%m%d') as '昨天';
    
    • 1
    • 2
    • 3

    select str_to_date('26-7-2022-123456', '%d-%m-%Y') as '今天',
    	   str_to_date('2022', '%Y') as '今年';
    
    • 1
    • 2

    select str_to_date('221322','%H%i%s') as '现在1',
    	   str_to_date('22:13:22','%H:%i:%s') as '现在2';
    
    • 1
    • 2

    select str_to_date('221322','%H%i%s') as '现在1',
    	   str_to_date('22:13:22','%H:%i:%s') as '现在2',
    	   str_to_date('2022,7,26 22:13:22','%Y,%m,%e %H:%i:%s') as '现在3';
    
    • 1
    • 2
    • 3

    2.date转varchar

    函数格式说明
    date_formatDATE_FORMAT(date,format)date:合法的日期
    format :规定日期/时间的输出格式
    select date_format(now(), '%Y %m %d') as '今天',
    	   date_format(now(), '%Y-%m-%d %H:%i:%s') as '现在'; 
    
    • 1
    • 2

    3.补充

    获取某天某一时刻的字符串

    select date_format(trim(concat((select DATE_SUB(curdate(),INTERVAL 0 DAY)),' 00:00:00')), '%Y-%m-%d %H:%i:%s') as '今天凌晨',
    	   date_format(trim(concat((select DATE_SUB(curdate(),INTERVAL 1 DAY)),' 00:00:00')), '%Y-%m-%d %H:%i:%s') as '昨天凌晨',
    	   date_format(trim(concat((select DATE_SUB(curdate(),INTERVAL -1 DAY)),' 00:00:00')), '%Y-%m-%d %H:%i:%s') as '明天凌晨';
    
    • 1
    • 2
    • 3

  • 相关阅读:
    拓展企业客户群:如何使用企业联系方式查询API帮助在社交媒体上寻找潜在客户
    CSS清除浮动的五种方法(超详细)
    LVS+Keepalived 高可用集群
    ElasticSearch搜索引擎:常用的存储mapping配置项 与 doc_values详细介绍
    【Spring Boot】Spring Bootd的介绍、项目的创建
    【数值计算方法】非线性方程(组)和最优化问题的计算方法:非线性方程式求根的二分法、迭代法、Newton 迭代法及其Python实现
    L848字母位移
    基于51单片机多功能防盗报警proteus仿真( proteus仿真+程序+设计报告+原理图+讲解视频)
    金蝶云星空BOS设计器中基础资料字段属性“过滤”设置获取当前界面的基础资料值作为查询条件
    大数据治理入门系列:数据治理
  • 原文地址:https://blog.csdn.net/m0_54355172/article/details/125998218