函数是事先经过编译并存储在数据库中的一段sql语句的集合。

    MySQL常用函数有:字符串函数、数值函数、日期和时间函数、流程函数以及自定义函数等。

    

    字符串函数

    CONCAT(str1,str2,…) 连接字符串

    LOWER(str) 转换成小写

    UPPER(str) 转换成大写

    LENGTH(str)   返回字符串str的长度

    TRIM(str)  去掉str字符串前缀和后缀的空格(和length做个试验)

    LTRIM(str) 去掉str字符串前缀的空格

    RTRIM(str) 去掉str字符串后缀的空格

    INSERT(str1,x,y,str2)    将str1值从第x开始至y结束替换成str2

    REPLACE(str,from_str,to_str)    将str中的from_str替换为to_str

    LPAD(str,len,padstr) 返回str值,并左起由字符串padstr填补len位

    mysql> select lpad('server',2,'qq');

    +-----------------------+

    | lpad('server',2,'qq') |

    +-----------------------+

    | se                    |

    +-----------------------+

    1 row in set (0.27 sec)

     

    mysql> select lpad('server',20,'qq');

    +------------------------+

    | lpad('server',20,'qq') |

    +------------------------+

    | qqqqqqqqqqqqqqserver   |

    +------------------------+

    1 row in set (0.00 sec)

    RPAD(str,len,padstr) 返回str值,并右起由字符串padstr填补len位

    REPEAT(str,len)   将str重复len次

     

    数值函数

    ABS(x) 返回绝对值

    CEIL(x)    返回大于等于x的最小整数

    FLOOR(x)   返回不小等于x的最大整数

    MOD(x,y)   返回x/y的模

    RAND() 生成0~1之间的随机浮点数

    ROUND(x,y) 返回x四舍五入后有y位小数的值

    TRUNCATE(x,y) 返回x截断为y位小数的结果

     

    日期函数

    CURDATE()  返回当前日期

    CURTIME()  返回当前时间

    NOW()  返回当前日期和时间

    WEEK(date,x)  返回指定日期是一年中的第几周,x=0(默认)按周日为一周的第一天,x=1按周一为一周的第一天

    YEAR(date) 返回指定日期的年份

    MONTHNAME(date)   返回指定日期的月份名称

    DATE_FORMAT(date,fmt)    返回按字符串fmt格式化的date日期

    DATE_ADD(date,INTERVAL expr type)  返回一个日期或时间加上一个时间间隔的值

    DATEDIFF(expr1,expr2)   返回expr1-expr2之间的天数

     

    流程函数

    IF(expr1,expr2,expr3)    如果expr1为TRUE(!=0且!=NULL),则返回expr2的值,否则返回expr3的值

     

    IFNULL(expr1,expr2)  如果expr1不为NULL则返回expr1,否则返回expr2

     

    CASE

    WHEN [value1] THEN result1

    WHEN [value2] THEN result2

    ELSE default

    END

    如果value1值为TRUE,则优先返回result1值,如果value2值为TRUE,则返回result2值,否则返回default值