美文网首页
mysql常用函数以及sql总结

mysql常用函数以及sql总结

作者: vincky倩 | 来源:发表于2018-05-13 16:05 被阅读0次

    因为刚刚入职一家新公司,原来一直用oracle,新公司用的mysql,正好借此机会学习一下,也记录一下,有需要的你,可以参考下

    1、获取当前时间:select now()    or   SELECT SYSDATE()   or select CURDATE()

    1)其他日期相关函数

    select DATE_FORMAT(now(),'%Y-%m-%d') as cs1,STR_TO_DATE(now(),'%Y-%m-%d %H:%i:%S') as cs2

    2).日期运算函数MONTH(date):返回date的月份数,例如MONTY(‘2013-08-20’),返回:8           DAY(date):返回date的天数,例如DAY(‘2013-08-20’),返回:20               YEAR(date):返回date的年份数,例如YEAR(‘2013-08-20’),返回:2013TO_DAYS(date):date对应的天数,例如TO_DAYS (‘2008-10-07’),返回:733687WEEK(date):返回date对应周几,例如: WEEK(‘2013-08-20’),返回:2DATEDIFF(date1,date2):返回date1-date2的天数差别,例如:DATEDIFF(‘2013-08-20’,’2013-08-18 13:30:14’),返回:2

    2、连接函数concat(str1,str2) :select concat('my ','name');

    3、带分隔符的连接函数concat_ws(separator,str1,str2):select concat_ws('#','名称:','vincky');

    4、IF(exp1,exp2,exp3):若是exp1 为真,返回exp2;若是exp1为假,返回exp3: 

    select if(2>1,'true','false'); 

    5、IFNULL(exp1,exp2):若是exp1 IS NOT NULL,返回exp1,否则返回exp2:

    select IFNULL(null,'晓倩')

    select IFNULL('vincky','晓倩');

    6、 NULLIF(exp1,exp2):若是exp1=exp2,返回NULL,否则返回exp1

    select NULLIF('vincky','vincky');

    select NULLIF('vincky','晓倩');

    7、SUBSTRING(exp1,pos,len): exp1为字符串,pos为位置,len为长度

    select substring('1234.qq.com',1,4);

    8、TRIM(exp1):去掉exp1中的开头和 结尾的空格

    select concat(TRIM(' vincky '),'倩');

    9、REPLACE(str,from,to):返回字符串str,其字符串from的所有出现由字符串to代替

    select REPLACE('www.mysql.com', 'mysql', 'oracle');

    10、case 

    when 条件1 then 结果1

    when 条件2 then 结果2

    when 条件3 then 结果3

    else 结果4 end

    写法一:

    case sex when 1 then 男  when 2 then 女 else 未知 end

    写法二:

    case when sex=1 then 男 when sex=2 then 女 else 未知 end

    其他例子:

    select CASE WHEN count(1) >0 THEN DATEDIFF(NOW(),t.STORE_TIME) ELSE (select DATEDIFF(NOW(),STORE_TIME) from guizi_order where CUSTOMER_PHONE='13708985751' ORDER BY STORE_TIME LIMIT 1) END as days from guizi_order_bak t where t.CUSTOMER_PHONE='13708985751' ORDER BY t.STORE_TIME LIMIT 1

    11、mysql中计算两个日期的时间差函数TIMESTAMPDIFF (返回日期或日期时间表达式start 和end 之间的整数差)。

    SELECT TIMESTAMPDIFF(MONTH,'2018-05-01','2018-03-01') m,TIMESTAMPDIFF(YEAR,'2019-05-01','2018-01-01') y 

    相关文章

      网友评论

          本文标题:mysql常用函数以及sql总结

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