美文网首页
关于mysql内置函数

关于mysql内置函数

作者: __晴天__ | 来源:发表于2018-04-01 19:13 被阅读0次

    字符串函数

    查看字符的ascii码值ascii(str),str是空串时返回0

        select ascii('a');
    

    查看ascii码值对应的字符char(数字)

      select char(97);
    

    拼接字符串concat(str1,str2...)

      select concat(12,34,'ab');
    

    包含字符个数length(str)

        select length('abc');
    

    截取字符串

        * left(str,len)返回字符串str的左端len个字符
        * right(str,len)返回字符串str的右端len个字符
        * substring(str,pos,len)返回字符串str的位置pos起len个字符
    
       select substring('abc123',2,3);
    

    去除空格

         ltrim(str)返回删除了左空格的字符串str
         rtrim(str)返回删除了右空格的字符串str
         trim([方向 remstr from str)返回从某侧删除remstr后的字符串str,方向词包括both、leading、trailing,表示两侧、左、右
         select trim('  bar   ');
         select trim(leading 'x' FROM 'xxxbarxxx');
         select trim(both 'x' FROM 'xxxbarxxx');
         select trim(trailing 'x' FROM 'xxxbarxxx');
         返回由n个空格字符组成的一个字符串space(n)
         select space(10);
         替换字符串replace(str,from_str,to_str)
         select replace('abc123','123','def');
    

    大小写转换,函数如下

        *lower(str)
        *upper(str)
        *select lower('aBcD');
    

    数学函数

    求绝对值abs(n)

        select abs(-32);
    

    求m除以n的余数mod(m,n),同运算符%

        select mod(10,3);
        select 10%3;
    

    地板floor(n),表示不大于n的最大整数

        select floor(2.3);
    

    天花板ceiling(n),表示不小于n的最大整数

        select ceiling(2.3);
    

    求四舍五入值round(n,d),n表示原数,d表示小数位置,默认为0

        select round(1.6);
    

    求x的y次幂pow(x,y)

        select pow(2,3);
    

    获取圆周率PI()

        select PI();
    

    随机数rand(),值为0-1.0的浮点数

        select rand();
    

    还有其它很多三角函数,使用时可以查询文档

    日期时间函数

    获取子值,语法如下

        * year(date)返回date的年份(范围在1000到9999)
        * month(date)返回date中的月份数值
        * day(date)返回date中的日期数值
        * hour(time)返回time的小时数(范围是0到23)
        * minute(time)返回time的分钟数(范围是0到59)
        * second(time)返回time的秒数(范围是0到59)
        * select year('2016-12-21');
    

    日期计算,使用+-运算符,数字后面的关键字为

       year、month、day、hour、minute、second   
       select '2016-12-21'+interval 1 day;
    

    日期格式化date_format(date,format),format参数可用的值如下

     *获取年%Y,返回4位的整数
     *获取年%y,返回2位的整数
     *获取月%m,值为1-12的整数
     *获取日%d,返回整数
     *获取时%H,值为0-23的整数
     *获取时%h,值为1-12的整数
     *获取分%i,值为0-59的整数
     *获取秒%s,值为0-59的整数
      select date_format('2016-12-21','%Y %m %d');
    

    当前日期current_date()

      select current_date();
    

    当前时间current_time()

      select current_time();
    

    当前日期时间now()

      select now();select ascii('a');

    相关文章

      网友评论

          本文标题:关于mysql内置函数

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