美文网首页web开发mysql
MySQL常用的函数

MySQL常用的函数

作者: 根艮哏艮根 | 来源:发表于2018-11-14 13:15 被阅读2次

    在平时写项目的时候不免要写sql,在每次用到函数的时候就去百度,然后就粘贴复制,对自己根本没有记住,现在就将常用的MySQL函数整理一下,供自己以后查看。

    一、时间相关函数

    1.日期格式化

    DATE_FORMAT(time,'%Y-%m-%d %H:%i:%s')
    
    DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') data1,
    DATE_FORMAT(NOW(),'%Y-%m-%d') data2,
    DATE_FORMAT(NOW(),'%H:%i:%s') data3
    
    格式化.png

    2.两个日期相减

    //减数在前,被减数在后
    time_to_sec(timediff(t2, t1)) diff1,    结果为秒
    //被减数在前,减数在后
    timestampdiff(second, t1, t2) diff2,     结果为秒
    unix_timestamp(t2) -unix_timestamp(t1) diff3    结果为秒
    
    select now(),date_add(now(),INTERVAL 1 MINUTE) date,
    -- 减数在前,被减数在后
    time_to_sec(timediff(date_add(now(),INTERVAL 1 MINUTE),now() )) diff1,
     -- 这里是相反的,被减数在前,减数在后
    timestampdiff(second,now(),date_add(now(),INTERVAL 1 MINUTE)) diff2,
    unix_timestamp(date_add(now(),INTERVAL 1 MINUTE)) -unix_timestamp(now()) diff3 
    
    两个时间相减.png

    3.给指定日期增加指定的时间间隔
    DATE_ADD(d,INTERVAL expr type)

    select now(),
    date_add(now(),INTERVAL 1 DAY) DAY, -- 增加天数
    date_add(now(),INTERVAL 1 MINUTE) MINUTE, -- 增加分钟
    date_add(now(),INTERVAL 1 SECOND) SECOND, -- 增加秒
    date_add(now(),INTERVAL 1 HOUR) HOUR, -- 增加小时数
    date_add(now(),INTERVAL 1 MONTH) MONTH, -- 增加月份
    date_add(now(),INTERVAL 1 YEAR) YEAR, -- 增加年份
    date_add(now(),INTERVAL 1 WEEK) WEEK -- 增加星期
    
    增加指定时间间隔.png

    4.给指定日期减去指定的时间间隔

    DATE_SUB(date,INTERVAL expr type)
    
     select now(),
    date_sub(now(),INTERVAL 1 DAY) DAY, -- 减去天数
    date_sub(now(),INTERVAL 1 MINUTE) MINUTE, -- 减去分钟数
    date_sub(now(),INTERVAL 1 SECOND) SECOND, -- 减去秒数
    date_sub(now(),INTERVAL 1 HOUR) HOUR, -- 减去小时
    date_sub(now(),INTERVAL 1 MONTH) MONTH, -- 减去月份
    date_sub(now(),INTERVAL 1 YEAR) YEAR, -- 减去年份
    date_sub(now(),INTERVAL 1 WEEK) WEEK -- 减去星期
    
    减去指定时间间隔.png

    二、其他常用的函数

    1.判断表达式是否为null

    [IFNULL(v1,v2)]      如果 v1 的值不为 NULL,则返回 v1,否则返回 v2
    
    SELECT IFNULL(null,'Hello Word')   ->Hello Word
    

    2.MySQL中if判断

    IF(expr,v1,v2)     如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2
    
    SELECT IF(1 > 0,'正确','错误')    ->正确
    

    3.MySQL中的switch,case的使用

    CASE expression
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
       ...
        WHEN conditionN THEN resultN
        ELSE result
    END
    
    CASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回 result1, 
    如果 condition2 成立,则返回 result2,当全部不成立则返回 result,
    而当有一个成立之后,后面的就不执行了。  
    
    SELECT CASE WHEN 1=1 THEN 1 ELSE 0 END     ->1
    
    SELECT CASE WHEN 1=0 THEN 1 ELSE 0 END     ->0
    

    相关文章

      网友评论

        本文标题:MySQL常用的函数

        本文链接:https://www.haomeiwen.com/subject/xnidfqtx.html