码迷,mamicode.com
首页 > 其他好文 > 详细

12内建函数

时间:2019-02-06 18:29:50      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:插入字符串   倒数   使用   time()   根据   sele   校验和   字符串函数   bst   

一、数学函数

    ROUND(x,y)
        返回参数x的四舍五入的有y位小数的值
        
    RAND()
        返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
     这是一个伪随机数

 

二、聚合函数

    AVG(col)返回指定列的平均值
    COUNT(col)返回指定列中非NULL值的个数
    MIN(col)返回指定列的最小值
    MAX(col)返回指定列的最大值
    SUM(col)返回指定列的所有值之和
    GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果  

 

三、字符串函数

   CHAR_LENGTH(str)
        返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。
    CONCAT(str1,str2,...)
        字符串拼接
        如有任何一个参数为NULL ,则返回值为 NULL。
    CONCAT_WS(separator,str1,str2,...)
        字符串拼接(自定义连接符)
        CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。

    FORMAT(X,D)
        将数字X 的格式写为#,###,###.##,以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若  D 为 0, 则返回结果不带有小数点,或不含小数部分。
        例如:
            SELECT FORMAT(12332.1,4); 结果为: 12,332.1000
    
    INSERT(str,pos,len,newstr)
        在str的指定位置插入字符串
            pos:要替换位置其实位置
            len:替换的长度
            newstr:新字符串
        例如:
            SELECT INSERT(abcd,1,2,tt); 结果为: ttcd
            SELECT INSERT(abcd,1,4,tt); 结果为: tt
        特别的:
            如果pos超过原字符串长度,则返回原字符串
            如果len超过原字符串长度,则由新字符串完全替换
    
    INSTR(str,substr)
        返回字符串 str 中子字符串的第一个出现位置。

    LEFT(str,len)
        返回字符串str 从开始的len位置的子序列字符。
        例如:
            SELECT INSTR(abc,c); 结果为: 3
            SELECT INSTR(abc,d); 结果为: 0
            
    LOWER(str)
        变小写

    UPPER(str)
        变大写
   
    REVERSE(str)
        返回字符串 str ,顺序和字符顺序相反。
        例如:
            SELECT REVERSE(1234567) 结果为:7654321
            
    SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
        不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。

        mysql> SELECT SUBSTRING(Quadratically,5); -- 从第5位开始截取
            -> ratically

        mysql> SELECT SUBSTRING(foobarbar FROM 4); -- 从第4位开始截取
            -> barbar

        mysql> SELECT SUBSTRING(Quadratically,5,6); --从第5位开始截取,截取6个长度
            -> ratica

        mysql> SELECT SUBSTRING(Sakila, -3);    -- 从倒数第3位开始截取
            -> ila

        mysql> SELECT SUBSTRING(Sakila, -5, 3); -- 从倒数第5位开始截取,截取3个长度
            -> aki

 

四、时间和日期函数

   CURDATE()或CURRENT_DATE() 返回当前的日期
    CURTIME()或CURRENT_TIME() 返回当前的时间
    DAYOFWEEK(date)   返回date所代表的一星期中的第几天(1~7)
    DAYOFMONTH(date)  返回date是一个月的第几天(1~31)
    DAYOFYEAR(date)   返回date是一年的第几天(1~366)
    DAYNAME(date)   返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE);
    FROM_UNIXTIME(ts,fmt)  根据指定的fmt格式,格式化UNIX时间戳ts
    HOUR(time)   返回time的小时值(0~23)
    MINUTE(time)   返回time的分钟值(0~59)
    MONTH(date)   返回date的月份值(1~12)
    MONTHNAME(date)   返回date的月份名,如:SELECT MONTHNAME(CURRENT_DATE);
    NOW()    返回当前的日期和时间
    QUARTER(date)   返回date在一年中的季度(1~4),如SELECT QUARTER(CURRENT_DATE);
    WEEK(date)   返回日期date为一年中第几周(0~53)
    YEAR(date)   返回日期date的年份(1000~9999)

   DATE_FORMAT(date,format) 根据format字符串格式化date值

       mysql> SELECT DATE_FORMAT(‘2009-10-04 22:23:00‘, ‘%W %M %Y‘);
        -> ‘Sunday October 2009‘
       mysql> SELECT DATE_FORMAT(‘2007-10-04 22:23:00‘, ‘%H:%i:%s‘);
        -> ‘22:23:00‘

 

五、加密函数

   MD5()    
        计算字符串str的MD5校验和
        例如:
            SELECT MD5(1234) 结果为:81dc9bdb52d04dc20036dbd8313ed055
    PASSWORD(str)   
        返回字符串str的加密版本,这个加密过程是不可逆转的
        例如:
            SELECT PASSWORD(1234) 结果为:*A4B6157319038724E3560894F7F932C8886EBFCF

 

六、控制流函数

 

12内建函数

标签:插入字符串   倒数   使用   time()   根据   sele   校验和   字符串函数   bst   

原文地址:https://www.cnblogs.com/start20180703/p/10353888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!