• mysql 常用的时间日期函数小结


    本文主要是总结一些常用的在实际运用中常用的一些mysql时间日期以及转换的函数

    1.now()  :返回当前日期和时间

    select now();
    //2018-04-21 09:19:21

    2.curdate()   :返回当前日期

    select curdate();
    //2018-04-21 

    3. dayofweek(data) : 返回日期 data 是星期几

    (1 = 星期日,2 =星期一...7=星期六,ODBC标准)

    select dayofweek(‘2018-02-13’); 
    // 3

    4.weekday(date) : 返回日期 data 是星期几

    (0 = 星期日,1 =星期一...6=星期六,ODBC标准)

    select WEEKDAY('1997-10-04 22:23:00');
    //5

    5.dayofmonth(date) :返回date是一个月中的第几天(1-31 范围)

    select dayofmonth('2018-04-21');
    //21

    6.dayofyear(date) : 返回date是一年中的第几天(1-366 范围)

    select dayofyear('2018-01-01');
    //1

    7.month(date):返回date 中的月份值

    select month('2018-04-21');
    //4

    8.dayname(date):返回date 是星期几(英文名返回)

    select dayname('1998-02-05');
    //Thursday

    9.monthname(date):返回date 是几月(英文返回)

    select monthname('2018-02-01')
    //February

    10.quarter(date):返回date 是一年的第几季度

    select quarter('2018-04-21');
    //2

    11.week(date,first):返回date 是一年的第几周

    (参数first:0表示周日是周的开始,1表示周一是周的开始,默认0)

    select week('2018-02-20'); // 7
    
    select week('2018-02-20',0); //7
    
    select week('2018-02-20',1); //8

    12.year(date) : 返回date 中的年份(范围1000-9999)

    select year('98-02-03');
    //1998

    13.hour(time): 返回time 中的小时数(0-23)

    select hour('10:02:03');
    //10

    14.minute(time) : 返回time 中的分钟数(0-59)

    select minute('10:20:59')
    //20

    15.second(time) : 返回time 中的秒数(0-59)

    select second('10:20:59')
    //59

    16.datediff(date_expression_1,date_expression_2)  :返回两个日期之间的相差天数

    select datediff('2018-04-20','2018-04-01');
    //19

    17.  date_add(date,interval expr type);
      data_sub(data,interval expr type);

    说明:对日期时间进行加减运算
    参数一:date: 是一个datetime 或者是date值
    参数二:expr 添加的值,type 添加值的格式(年月日时分秒)

    1)添加年份 (year): select date_add(" 2018-04-22",interval 1 year); //res: 2019-04-22
    
    (2) 添加月数(month):select date_add(" 2018-04-22",interval 1 month); //res: 2018-05-22
    
    (3) 添加天数(day):select date_add(" 2018-04-22",interval 1 day); //res: 2018-04-23
    
    (4) 添加小时(hour):select date_add(" 2018-04-22 10:08:38 ",interval 1 hour); //res: 2018-04-22 10:09:38
    
    (5) 添加分钟(minute):select date_add(" 2018-04-22 10:08:38 ",interval 1 minute); //res: 2018-04-22 10:09:38
    
    (6) 添加秒数(second):select date_add(" 2018-04-22 10:08:38 ",interval 1 second); //res: 2018-04-22 10:09:39
    
    (7) 添加年月(year_month):select date_add(" 2018-04-22",interval '1-1' year_month); //res: 2019-05-22
    
    (8) 添加天数 小时(day_hour):select date_add(" 2018-04-22 10:08:38",interval '1 1' day_hour); //res: 2018-04-23 11:08:38
    
    (9) 添加小时 分钟(hour_minute):select date_add(" 2018-04-22 10:08:38",interval '1:1' hour_minute); //res: 2018-04-22 11:09:38 
    
    (10) 添加天, 小时, 分钟, 秒(day_second):select date_add(" 2018-04-22 10:08:38",interval '1 1:1:1' day_second); //res: 2018-04-23 11:09:39

    18.data_format(date,format) :格式化一个有效的日期时间值

    说明:参数二:format:是由预定义的说明符(限定符)组成的格式字符串

    select date_format('2018-08-20 10:08:38',"%Y-%m-%d");
    //2018-08-20

    19.unix_tiemstamp(date) :返回一个unix 时间戳

    说明:(从‘19970-01-01 00:00:00’开始的秒数),date 默认当前时间(省略)

    1select unix_timestamp();//res : 1524279977
    (2) select unix_timestamp('1970-01-01 00:00:00'); //res: 0

    20.from_unixtime(unix_timestamp,format) : 将一个秒数的时间戳格式日期时间

    说明:参数一:秒数的时间戳,参数二:指定格式,默认(年-月-日 时:分:秒) ‘%Y-%m-%d %h:%m:%s’

    (1) select from_unixtime(1524280438); res://2018-04-21 11:04:58
    (2) select from_unixtime(1524280438,"%Y-%m-%d"); res://2018-04-21

    完结。。。 谢谢

     

  • 相关阅读:
    [转载]Quartus ii 一些Warning/Eeror分析与解决
    [转载]MAC、IP头、TCP头、UDP头帧格式、详解
    [转载]关于晶振ppm
    20140919-FPGA-有效观察设计中的差分信号
    [转载]转一篇Systemverilog的一个牛人总结
    [转载]ISE中COE与MIF文件的联系与区别
    linux系统性能监控--I/O利用率
    linux系统性能监控--内存利用率
    linux系统性能监控--CPU利用率
    在linux系统中I/O 调度的选择
  • 原文地址:https://www.cnblogs.com/beyonds/p/9022479.html
Copyright © 2020-2023  润新知