zoukankan      html  css  js  c++  java
  • Mysql学习笔记(五)数学与日期时间函数

    学习内容:

    1.数学函数

    2.日期时间函数

    这些函数都是很常用的函数...在这里进行简单的介绍...

    数学函数:

    mysql> SELECT ABS(-32); //取绝对值函数
            -> 32
    这个函数可安全地使用于 BIGINT 值。 
    
    mysql> SELECT SIGN(-32);//判断一个数是正数,负数,还是0.。根据实际情况返回指定的数值..
            -> -1
    
    mysql> SELECT MOD(234, 10);//取模函数...
            -> 4
    
    mysql> SELECT FLOOR(1.23);//返回不大于给出数的最大整数值
            -> 1
    
    mysql> SELECT CEILING(1.23);//返回不小于这个数的整数值
            -> 2
    
    mysql> SELECT ROUND(-1.23);//四舍五入函数
            -> -1
    
    mysql> SELECT 5 DIV 2//整除函数
        -> 2
    
    mysql> SELECT EXP(2);//返回指数e的指定次方
            -> 7.389056
    
    mysql> SELECT LN(2);//返回给出数的自然对数
            -> 0.693147
    
    mysql> SELECT LOG(2);//返回给出数的自然对数
            -> 0.693147
    
    mysql> SELECT POW(2,2);//返回x数的y次幂,并且返回值为浮点类型..
            -> 4.000000
    
    mysql> SELECT RAND();//随机产生一个0-1的小数..
            -> 0.9233482386203
    
    mysql> SELECT RADIANS(90);//将一个数转换为弧度
            -> 1.570796

    只是一些常用的数学函数...

    日期与时间函数

    简单的介绍几个函数...很常用的就不进行举例了...

    Week(date) <==>Week(date,first)这个函数用来返回给定日期的周数...这个函数根据给定的first来确定返回数值的实际范围...

       值                 含义
       0 一周以星期天开始,返回值的范围为0-53
       1 一周以星期一开始,返回值的范围为0-53
       2 一周以星期日开始,返回值的范围为1-53
       3 一周以星期一开始,返回值的范围为1-53(iso 8601)

    Period_add(p,n)增加N各月到指定的日期值中,并返回日期值...

    mysql> SELECT PERIOD_ADD(9801,2);
            -> 199803

    Period(p1,p2)返回p1-p2之间的月数..

    mysql> SELECT PERIOD_DIFF(9802,199703);
            -> 11

    date_add(date,Interval expr type)<==>adddate(date,Interval expr type)

    date_sub(date,Interval expr type)<==>subdate(date,Interval expr type)

    这两个函数根据给定的日期date,按照expr指定的规则对date进行修改....type是一个关键字,它指定表达式以何种格式被解释...

    type值 expr期望的格式
    second seconds
    minute minutes
    hour hours
    day days
    month months
    year years
    minute_second "minute:second"
    hour_minute "hour:minute"
    day_hour "days:hour"
    year_month "year-month"
    hour_second "hours:minutes:second"
    day_minute "days:hours:minutes"
    day_second "days hours:minute:second"
    mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
            -> 1998-01-01 00:00:00
    mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
           -> 1997-12-31 23:59:59
    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
        ->                 INTERVAL "1:1" MINUTE_SECOND);
            -> 1998-01-01 00:01:00
    mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
        ->                 INTERVAL "1 1:1:1" DAY_SECOND);
            -> 1997-12-30 22:58:59
    mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
        ->                 INTERVAL "-1 10" DAY_HOUR);
            -> 1997-12-30 14:00:00

    date_format(date,format)依照format来初始化date的函数...

    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
            -> 'Saturday October 1997'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
            -> '22:23:00'
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                              '%D %y %a %d %m %b %j');
            -> '4th 97 Sat 04 10 Oct 277'

    now()<==>sysdate()<==>current_timestamp 取现在的系统时间...

    mysql> SELECT NOW();
            -> '2015-04-29 11:02:56';

    sec_to_time(seconds)将分钟转换为正常的时间...

    time_to_sec(time) 上述函数的逆置。。。

    mysql> SELECT SEC_TO_TIME(2378);
            -> '00:39:38'
    mysql> SELECT TIME_TO_SEC('22:23:00');
            -> 80580
  • 相关阅读:
    字符串提取数字/汉字/英文字母
    CHARINDEX,PATINDEX,STUFF函数
    raiserror的用法
    数据库备份与还原(通过命令)
    查询某个字段属于哪些表
    设备驱动基础1:设备模型之总线,驱动,设备
    设备模型之kobject,kset及其关系
    模拟电路创新设计
    cdev、udev
    PCB阻抗调节
  • 原文地址:https://www.cnblogs.com/RGogoing/p/4464097.html
Copyright © 2011-2022 走看看