MySQL常用函数

  1. 1. 一、MySQL函数概述
  2. 2. 二、单行函数语法
    1. 2.1. 2.1 语法:
    2. 2.2. 2.2 单行函数特征
  3. 3. 三、常用函数分类
    1. 3.1. 3.1 数学函数
    2. 3.2. 3.2 字符串函数
    3. 3.3. 3.3 日期和时间函数
  4. 4. 四、其它函数
    1. 4.0.1. 案例

一、MySQL函数概述

​ MySQL提供了很多功能强大、方便易用的函数,在进行数据库管理以及数据的查询和操作时,帮助我们提高对数据库的管理效率。

​ 函数分类: 单行、多行函数。

二、单行函数语法

2.1 语法:

函数名[(参数1,参数2,…)]

其中的参数可以是以下之一:变量、列名、表达式

2.2 单行函数特征

  1. 单行函数对单行操作
  2. 每行返回一个结果
  3. 有可能返回值与原参数数据类型不一致
  4. 单行函数可以写在SELECT、WHERE、ORDER BY子句中
  5. 有些函数没有参数,有些函数包括一个或多个参数
  6. 函数可以嵌套

三、常用函数分类

  • 数学函数
  • 字符串函数
  • 日期和时间函数
  • 流程控制函数
  • 其他函数

3.1 数学函数

  • abs()

    求绝对值

  • pi()

    返回pi

  • sqrt(x)

    开平方根

  • mod(x)

    求余数

  • ceil(x)\ceiling(x)

    向上取整

  • floor(x)

    向下取整

  • round()

    四舍五入取整

  • round(x,y)

    四舍五入保留小数点y位取整

  • truncate(x,y)

    截断

  • rand()

    返回随机数?

  • sign(x)

    返回符号为,整数返回1负数返回-1,0就返回0

  • pow(x,y)\power(x,y)

    返回x数据求y次方后的结果

3.2 字符串函数

  • char_length(x)

    求字符的个数

  • length(x)

    返回字节个数

  • concat(str1,str2,…)

    字符串拼接,如果有一个参数是null那么全部返回都是null

  • concat_ws(sepe0rator,str1,str2,…)

    字符串拼接,拼接的分隔符使用seperator,如果被拼接的参数是null,则会忽略

  • insert(str,position,len,newStr)

    在str的指定位置开始取len个字符并用newStr来代替

  • lower(x)

    转成小写

  • upper(x)

    转成大写

  • left(str,len)

    返回字符串str的左边开始计算共返回len个字符

  • right(str,len)

    返回字符串str的右边开始计算共返回len个字符

  • lpad(str,len,newStr)

    对str的左边开始用newStr填充直到填充后的字符串长度为len为止

  • rpad(str,len,newStr)

    对str的右边开始用newStr填充直到填充后的字符串长度为len为止

  • ltrim(x)

    去除字符串x的左边空格

  • rtrim(x)

    去除字符串x的右边空格

  • trim(x)

    去除字符串x左右两边的隔空

  • trim( delStr from str)

    去除字符串str中左右两边的delStr字符串

  • repeat(str,times)

    返回一个新字符串,该字符串由于字符串str重复times次组成

  • space(n)

    返回n个由于空格组成的字符串

  • replace(str,source,target)

    返回str字符串中source子串被target字符串替换的结果

  • strcmp(x,y)

    返回字符串x和y的比较结果,如果是相等返回0,x大于y返回1,否则返回-1

  • substring(str,startPosition[,len])

    如果len没有写,返回的是字符串str中从startPosition开始截取到末尾字符串

    如果len有指定,返回的是字符串str中从stratPosition开始截取len个字符串

  • reverse(x)

    对字符串x逆序(倒序)

  • ELT(position,str1,str2,…)

    返回的是参数中str1,str2,…参数中第position个位置的字符串

3.3 日期和时间函数

  • CURDATE()和CURRENT_DATE() :获取当前日期函数;

  • NOW():返回服务器的当前日期和时间;

  • CURTIME():返回当前时间,只包含时分秒;

  • UTC_DATE():返回世界标准时间日期函数;

  • UTC_TIME():返回世界标准时间函数;

  • TIMEDIFF(expr1, expr2):返回两个日期相减相差的时间数;

  • DATEDIFF(expr1, expr2):返回两个日期相减相差的天数;

  • DATE_ADD(date,INTERVAL expr type):日期加上一个时间间隔值;

  • DATE_SUB(date,INTERVAL expr type):日期减去一个时间间隔值;

  • DATE(date)、TIME(date)、YEAR(date):选取日期时间的各个部分:

  • EXTRACT(unit FROM date):从日期中抽取出某个单独的部分或组合;

  • DAYOFWEEK(date) 、DAYOFMONTH(date) 、DAYOFYEAR(date):返回日期

    在一周、一月、一年中是第几天

  • DAYNAME、MONTHNAME:返回日期的星期和月份名称;

  • DATE_FORMAT(date,format):格式化日期;

  • TIME_FORMATE(time,formate):格式化时间;

    (下一篇 ….)

四、其它函数

  • database()

    获取当前使用的数据库实例名

  • version()

    获取数据的版本

  • user()

    获取当前登录用户

  • md5(明文)

    获取明文MD5后的摘要信息

  • password(明文)

    获取明文加密后的密文,mysql使用该函数加密用户的密码

案例

1
2
3
4
5
6
7
select database() from dual;

select user() from dual;

select version() from dual;

select md5('123456')) from dual;