过一遍mysql(6)(第十篇:mysql常用函数汇总)

目录

第十篇:mysql常用函数汇总

mysql数值型函数

字符串函数:

 mysql日期和时间函数

mysql聚合函数:

mysql流程控制语句:

其他函数


第十篇:mysql常用函数汇总

mysql数值型函数

  • abs:求绝对值:

    函数 ABS(x) 返回 x 的绝对值。正数的绝对值是其本⾝,负数的绝对值为其相反
    数, 0 的绝对值是 0
  • sqrt:求二次方根:函数 SQRT(x) 返回⾮负数 x 的⼆次⽅根。负数没有平⽅根,返回结果为 NULL
  • mod:求余数:
    函数 MOD(x,y) 返回 x y 除后的余数, MOD() 对于带有⼩数部分的数值也起作
    ⽤,它返回除法运算后的余数。
  • ceil和ceiling:返回小于参数的最小整数,即向上取整:
    函数 CEIL(x) CEILING(x) 的意义相同,返回不⼩于 x 的最⼩整数值,返回值转
    化为⼀个 BIGINT
  • floor:向下取整,返回值转化为一个bigint:[loor(x) 函数返回⼩于 x 的最⼤整数值。
  • rand:生成一个0~1的随机数,传入整数参数是用来产生重复序列:⽣成⼀个0~1之间的随机数,传⼊整数参数是,⽤来产⽣重复序列
  • round:对所有传参数进行四舍五入:
    返回最接近于参数 x 的整数; ROUND(x,y) 函数对参数 x 进⾏四舍五⼊的操作,返
    回值保留⼩数点后⾯指定的 y
  • sign:返回参数的符号:返回参数的符号,x 的值为负、零和正时返回结果依次为 -10 1
  • pow和power:所传参数的次方的结果值:POW(x,y) 函数和 POWER(x,y) 函数⽤于计算 x y 次⽅。
  • sin:求正弦值:SIN(x) 返回 x 的正弦值,其中 x 为弧度值。
  • asin:求反正弦值
  • cos:求余弦值
  • acos:求反余弦值
  • tan:求正切值
  • atan:求反正切值
  • cot:求余切值
  • 注:PI() 函数返回圆周率(3.141593

字符串函数:

  • length:字符串长度:
    返回值为字符串的字节长度,使⽤ uft8 UNICODE 的⼀种变长字符编码,又称
    万国码)编码字符集时, ⼀个汉字是 3 个字节,⼀个数字或字母是⼀个字节
  • concat:合并多个字符串:
    CONCAT(sl s2 ...) 函数返回结果为连接参数产⽣的字符串,或许有⼀个或多个
    参数。若有任何⼀个参数为 NULL ,则返回值为 NULL 。若所有参数均为⾮⼆进制字符
    串,则结果为⾮⼆进制字符串。若⾃变量中含有任⼀⼆进制字符串,则结果为⼀
    个⼆进制字符串。

     过一遍mysql(6)(第十篇:mysql常用函数汇总)_第1张图片

  • insert:替换字符串函数:
    INSERT(s1 x len s2) 返回字符串 s1 ,⼦字符串起始于 x 位置,并且⽤ len
    字符长的字符串代替 s2
    x 的值从 1 开始,第⼀个字符的 x=1 ,若 x 超过字符串长度,则返回值为原始字符
    串。假如 len 的长度⼤于其他字符串的长度,则从位置 x 开始替换。
    若任何⼀个参数为 NULL,则返回值为 NULL 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第2张图片

  • lower:转换成小写
  • upper:大写
  • left:从左侧截取字符串:LEFT(sn) 函数返回字符串 s 最左边的 n 个字符,s=1表⽰第⼀个字符过一遍mysql(6)(第十篇:mysql常用函数汇总)_第3张图片过一遍mysql(6)(第十篇:mysql常用函数汇总)_第4张图片
  • right:从右侧截取字符串
  • trim:删除字符串左右两侧的空格:TRIM(s) 删除字符串 s 两侧的空格。过一遍mysql(6)(第十篇:mysql常用函数汇总)_第5张图片
  • replace:字符串替换函数:REPLACE(ss1s2) 使⽤字符串 s2 替换字符串 s 中所有的字符串 s1
  • substr和substring:截取字符串:
    substr(str,pos)
    substr(str from pos)
    substr(str,pos,len)
    substr(str from pos for len)
    substr() substring() 的同义词。
    没有 len 参数的形式是字符串 str 从位置 pos 开始返回⼀个⼦字符串。
    带有 len 参数的形式是字符串 str 从位置 pos 开始返回长度为 len 的⼦字符串。
    使⽤ FROM 的形式是标准的 SQL 语法。
    也可以对 pos 使⽤负值,在这种情况下,⼦字符串的开头是字符串末尾的 pos
    符,⽽不是开头。 在这个函数的任何形式中 pos 可以使⽤负值。
    对于所有形式的 substring() ,从中提取⼦串的字符串中第⼀个字符的位置被认为
    1。
    /** 第三个字符之后的⼦字符串: inese **/
    SELECT substring ('chinese', 3 );
    /** 倒数第三个字符之后的⼦字符串: ese **/
    SELECT substring ('chinese', - 3 );
    /** 第三个字符之后的两个字符: in **/
    SELECT substring ('chinese', 3 , 2 );
    /** 倒数第三个字符之后的两个字符: es **/
    SELECT substring ('chinese', - 3 , 2 );
    /** 第三个字符之后的⼦字符串: inese **/
    SELECT substring ('chinese' FROM 3 );
    /** 倒数第三个字符之后的⼦字符串: ese **/
    SELECT substring ('chinese' FROM - 3 );
    /** 第三个字符之后的两个字符: in **/
    SELECT substring ('chinese' FROM 3 FOR 2 ); /** 倒数第三个字符之后的两个字符: es **/
    SELECT substring ('chinese' FROM - 3 FOR 2 );
  • reverse:字符串反转(逆序)函数:
    REVERSE(s) 可以将字符串 s 反转,返回的字符串的顺序和 s 字符串的顺序相

 mysql日期和时间函数

  • curdate和current_date:返回当前系统的日期值:
    CURDATE() CURRENT_DATE() 函数的作⽤相同,将当前⽇期按照 “YYYY-MM
    DD” “YYYYMMDD” 格式的值返回,具体格式根据函数⽤在字符串或数字语境中
    ⽽定,返回的date类型。 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第6张图片

  • curtime和current _time:获取系统当前时间:

    CURTIME() CURRENT_TIME() 函数的作⽤相同,将当前时间以 “HH MM
    SS” “HHMMSS” 格式返回,具体格式根据函数⽤在字符串或数字语境中⽽定,
    返回time类型。 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第7张图片

  • now和sysdate:获取当前日期时间 :

    NOW() SYSDATE() 函数的作⽤相同,都是返回当前⽇期和时间值,格式为
    “YYYY-MM-DD HH MM SS” “YYYYMMDDHHMMSS” ,具体格式根据函数⽤在
    字符串或数字语境中⽽定,返回datetime类型。 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第8张图片

  • unix_timestamp:获取unix时间戳:

    UNIX_TIMESTAMP(date) 若⽆参数调⽤,返回⼀个⽆符号整数类型的 UNIX 时间
    戳('1970-01-01 00:00:00'GMT之后的秒数) 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第9张图片

  • from_unixtime:时间戳转日期 :

    FROM UNIXTIME(unix timestamp[,format]) 函数把 UNIX 时间戳转换为普通格式的
    ⽇期时间值,与 UNIX_TIMESTAMP () 函数互为反函数。
    2 个参数:
    unix_timestamp :时间戳(秒)
    format :要转化的格式 ⽐如 “”%Y-%m-%d“” 这样格式化之后的时间就是
    2017-11-30
    可以有的形式: 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第10张图片

     month:获取指定日期的月份:MONTH(date) 函数返回指定 date 对应的⽉份,范围为 1~12过一遍mysql(6)(第十篇:mysql常用函数汇总)_第11张图片

  • monthname:获取指定日期月份的英文名称:过一遍mysql(6)(第十篇:mysql常用函数汇总)_第12张图片

  • dayname:获取指定日期的星期名称:

    DAYNAME(date) 函数返回 date 对应的⼯作⽇英⽂名称,例如 Sunday Monday

     过一遍mysql(6)(第十篇:mysql常用函数汇总)_第13张图片

  • dayofweek:获取日期对应的周索引:

    DAYOFWEEK(d) 函数返回 d 对应的⼀周中的索引(位置)。 1 表⽰周⽇, 2 表⽰
    周⼀, …… 7 表⽰周六。这些索引值对应于ODBC标准 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第14张图片

  • week:获取指定日期是一年中第几周:

    WEEK(date[,mode]) 函数计算⽇期 date 是⼀年中的第⼏周。 WEEK(date,mode)
    函数允许指定星期是否起始于周⽇或周⼀,以及返回值的范围是否为 0 52 1
    53
    WEEK 函数接受两个参数:
    date 是要获取周数的⽇期。
    mode 是⼀个可选参数,⽤于确定周数计算的逻辑。它允许您指定本周是从星期
    ⼀还是星期⽇开始,返回的周数应在 0 52 之间或 0 53 之间。
    如果忽略 mode 参数,默认情况下 WEEK 函数将使⽤ default_week_format 系统变
    量的值。
    要获取 default_week_format 变量的当前值,请使⽤ SHOW VARIABLES 语句如
    下:

     过一遍mysql(6)(第十篇:mysql常用函数汇总)_第15张图片

在我们的服务器中,default_week_format的默认值为0,下表格说明了mode参数如何

影响 WEEK 函数:
范围 0 5 3 0 5 3 1 5  3 1 5 3 0 5 3 0 5 3 1 5 3 1 5 3
一周的第几天 星期日 星期一 星期日 星期一 星期日 星期一 星期日 星期一
模式 0 1 2 3 4 5 6 7
上表中 今年有 4 天以上 表⽰:
如果星期包含 1 1 ⽇,并且在新的⼀年中有 4 天或更多天,那么这周是第 1 周。
否则,这⼀周的数字是前⼀年的最后⼀周,下周是第1周。 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第16张图片
  • dayofyear:获取指定日期在一年中的位置 :DAYOFYEAR(d) 函数返回 d 是⼀年中的第⼏天,范围为 1~366过一遍mysql(6)(第十篇:mysql常用函数汇总)_第17张图片
  •  dayofmonth:获取指定日期在一个月的位置:DAYOFMONTH(d) 函数返回 d 是⼀个⽉中的第⼏天,范围为 1~31。过一遍mysql(6)(第十篇:mysql常用函数汇总)_第18张图片
  •  year:获取年份:YEAR() 函数可以从指定⽇期值中来获取年份值。过一遍mysql(6)(第十篇:mysql常用函数汇总)_第19张图片
  • time_to_sec:将时间转换为秒值:
    TIME TO SEC(time) 函数返回将参数 time 转换为秒数的时间值,转换公式为 ⼩时
    ×3600+ 分钟 ×60+ 秒 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第20张图片

  • sec_to_time:秒值转换为时间格式:

    SEC TO TIME(seconds) 函数返回将参数 seconds 转换为⼩时、分钟和秒数的时间

     过一遍mysql(6)(第十篇:mysql常用函数汇总)_第21张图片

  •  date_sub和subdate:日期减法运算:
    DATE_SUB(date,INTERVAL expr type)
    date :参数是合法的⽇期表达式。 expr 参数是您希望添加的时间间隔。
    type 的类型和 date_add 中的type⼀样。 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第22张图片

  • addtime:时间加法运算:

    ADDTIME(time,expr) 函数⽤于执⾏时间的加法运算。添加 expr time 并返回
    结果。
    其中: time 是⼀个时间或⽇期时间表达式,expr 是⼀个时间表达式 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第23张图片

  • subtime:时间减法运算:

    SUBTIME(time,expr) 函数⽤于执⾏时间的减法运算。
    函数返回 time expr 表⽰的值和格式 time 相同。 time 是⼀个时间或⽇期时间表
    达式, expr 是⼀个时间。

     过一遍mysql(6)(第十篇:mysql常用函数汇总)_第24张图片

  •  datediff:获取两个日期的时间间隔:
    DATEDIFF(date1 date2) 返回起始时间 date1 和结束时间 date2 之间的天数。
    date1 date2 为⽇期或 date-and-time 表达式。计算时只⽤到这些值的⽇期部
    分。

     过一遍mysql(6)(第十篇:mysql常用函数汇总)_第25张图片

  • date_format:格式化指定日期:
    DATE_FORMAT(date format) 函数是根据 format 指定的格式显⽰ date 值。
    DATE_FORMAT() 函数接受两个参数: date :是要格式化的有效⽇期值 format :是由预定义的说明符组成的格式字符
    串,每个说明符前⾯都有⼀个百分⽐字符 (%)
    format :格式和上⾯的函数 from_unixtime 中的format⼀样,可以参考上⾯的: 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第26张图片

  • weekday:获取指定日期在一周内的索引位置:WEEKDAY(date) 返回date的星期索引(0=星期⼀,1=星期⼆, ……6= 星期天)。过一遍mysql(6)(第十篇:mysql常用函数汇总)_第27张图片

    mysql聚合函数:

  • max:查询指定列的最大值:
  • min:查询指定列的最小值
  • count:统计查询结果的行数
  • sum:求和,返回指定列的总和
  • avg:求平均值,返回指定列数据的平均值

mysql流程控制语句:

  • if:判断: IF(expr,v1,v2), expr 为真是返回 v1 的值,否则返回 v2 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第28张图片
  • if null:判断是否为空:IFNULL(v1,v2)v1为空返回v2,否则返回v1。过一遍mysql(6)(第十篇:mysql常用函数汇总)_第29张图片
  • case:搜索语句:类似于java中的if..else if..else 或switch语句:有两种写法:

方式1:

case <表达式>

when <值1> then <操作1>

when <值2> then <操作2>

...

else commands

end case;

示例:

过一遍mysql(6)(第十篇:mysql常用函数汇总)_第30张图片

过一遍mysql(6)(第十篇:mysql常用函数汇总)_第31张图片

其他函数

varsion:mysql版本号

database:当前数据库

user:当前连接用户

password:返回字符串密码形式

md5:返回字符串的md5数据

 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第32张图片

 过一遍mysql(6)(第十篇:mysql常用函数汇总)_第33张图片

你可能感兴趣的:(mysql,mysql,数据库,database)