0


MysQL函数

MySQL 函数是 MySQL 数据库提供的内部函数,用户可以直接使用函数名调用函数快速的处理数据。MySQL 函数包括数值型函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等。

一、数值型函数

数学函数主要用于处理数字。这类函数包括绝对值函数、平均值函数、随机数的函数等

ABS(X)

返回X的绝对值

SQRT(X)

返回X的二次方根值

MOD(X,Y)

求余函数,返回 x 被 y 除后的余数,对于带有小数部分的数值也起作用,它返回除法运算后的余数

CEIL(X)、 CEILING(X)

向上取整

FLOOR(X)

向下取整

RAND()

随机生成一个在 0 和 1 之间的数

RAND(X)

传入一个整数作为参数时,该函数产生重复随机数

ROUND(x)

返回最接近于参数 x 的整数

**ROUND(X,Y) **

函数对参数X进行四舍五入,参数Y表示返回值保留小数点后多少位 ,四舍五入的位置为Y设定的位数

SIGN(X)

返回参数的符号,传参为负数时,返回结果为-1;传参为0时,返回结果为0;传参为正数时,返回结果为1

二、字符串函数

LENGTH(str)

返回字符串的字节长度,一个汉字是 3 个字节,一个数字或字母是一个字节

CONCAT(str1,str2,...)

拼接多个字符串,若其中一个参数为 NULL,则返回值为 NULL

INSERT(str,pos,len,newstr)

str-原字符串;pos-替换值的起始位置;len-从起始位置开始向后的len个字符长的字符;newstr-替换值

①若 pos超过字符串长度,则返回值为原始字符串

②若 len 的长度大于字符串的长度,则从位置 str至末尾开始替换

③若任何一个参数为 NULL,则返回值为 NULL

LOWER(str)

将字母转换为小写

UPPER(str)

将字母转换为大写

**LEFT(str,len) **

左截取,返回字符串str左边的len长度字符串

RIGHT(str,len)

右截取,返回字符串str右边的len长度字符串

TRIM(str)

去除字符串首尾空格

LTRIM(str)

去除前空格

RTRIM(str)

去除后空格

REPLACE(str,from_str,to_str)

使用to_str的值替换字符串str中from_str的值

SUBSTRING(str FROM pos FOR len)、SUBSTRING(str,pos,len)

str-截取字符串;pos-起始字符串位置;len-从起始位置开始往后的len长度字符串

SUBSTRING(str FROM pos)、 SUBSTRING(str,pos)

返回字符串str的pos位置至末尾的所有字符串

如果pos为负数,则起始于末尾,即倒数第 n 个字符,而不是字符串的开头位置

三、日期和时间函数

CURDATE()、CURRENT_DATE()

获取系统当前日期

CURTIME()、CURRENT_TIME()

获取系统当前日期

NOW()、SYSDATE()

获取当前日期时间

UNIX_TIMESTAMP()

获取UNIX时间戳

FROM_UNIXTIME(unix_timestamp)

将 UNIX 时间戳转换为普通格式时间

MONTH(date)

返回传参 date 对应的月份,范围为 1~12

MONTHNAME(date)

返回日期 date 对应月份的英文全名

DAYNAME(date)

返回 date 对应的工作日英文名称

DAYOFWEEK(date)

返回 date 对应的一周中的索引(位置)。1 表示周日,2 表示周一,……,7 表示周六

WEEK(date)

查询指定日期date是一年中的第几周

DAYOFYEAR(date)

返回指定日期date在一年中的第几天,范围为 1~366

DAYOFMONTH(date)

返回指定日期date在一个月中是几天,范围为 1~31

YEAR(date)

返回指定日期date的所属年份,如果日期为空,则返回0

TIME_TO_SEC(time)

将参数 time 转换为秒数的时间值,转换公式为“小时 ×3600+ 分钟 ×60+ 秒”

SEC_TO_TIME(seconds)

将秒数转换为时间,与TIME_TO_SEC(time)函数作用相反

DATE_ADD(date,INTERVAL expr unit)、ADDDATE(date,INTERVAL expr unit)

向日期date增加指定的时间间隔

DATE_SUB(date,INTERVAL expr unit)、SUBDATE(date,INTERVAL expr unit)

向日期date减去指定的时间间隔

ADDTIME(expr1,expr2)

在时间参数expr1上增加指定时间expr2,并返回增加时间后的值

SUBTIME(expr1,expr2)

在时间参数expr1上减去指定时间expr2,并返回减去时间后的值

DATEDIFF(expr1,expr1)

获取两个日期之间的间隔,参数expr1-参数expr2

DATE_FORMAT(date,format)

格式化参数date,按照format指定的格式显示date值

格式符号有以下多种,多个格式符号可进行拼接使用
格式符号说明%a工作日的缩写名称(SunSat)%b月份的缩写名称(Jan…Dec)%c月份,数字形式(012)%D带有英语后缀的该月日期(0th, 2st, 3nd,…)%d该月日期,数字形式(0031)%e该月日期,数字形式((031)%f微秒(000000 …999999)%H以 2 位数表示 24 小时(0023)%h, %I以 2 位数表示 12 小时(0112)%i分钟,数字形式(0059)%j—年中的天数(001366)%k以 24 小时(023)表示%l以12小时(112)表示%M月份名称(JanuaryDecember)%m月份,数字形式(0012)%p上午(AM) 或下午(PM)%r时间,12小时制(小时 (hh): 分钟 (mm) : 秒数 (ss) 后加 AM 或 PM)%S, %s以 2 位数形式表示秒(0059)%T时间,24 小时制(小时 (hh): 分钟 (mm): 秒数 (ss))%U周(0053),其中周日为每周的第一天%u周(0053),其中周一为每周的第一天%V周(0153),其中周日为每周的第一天,和%X同时使用%v周(01~53),其中周一为每周的第一天,和%x同时使用%W星期标识(周日、周一、周二…周六)%w—周中的每日(0= 周日…6= 周六)%X该周的年份,其中周日为每周的第一天,数字形式,4 位数,和%V同时使用%x该周的年份,其中周一为每周的第一天,数字形式,4位数,和%v同时使用%Y4 位数形式表示年份%y2 位数形式表示年份%%%一个文字字符

WEEKDAY(date)

返回date对应的一周工作日的索引。0 表示周一,1 表示周二,……,6 表示周日

四、聚合函数

MAX(expr)

查询指定列expr的最大值

MIN(expr)

查询指定列expr的最小值

COUNT(expr)

统计查询结果行数,一般为两种使用方式

  • COUNT(*) 计算表中总的行数,无论某列有数值或者为空值。
  • COUNT(字段名)计算指定列expr下总的行数,计算时将忽略空值的行。

SUM(expr)

求和,返回指定列expr的总和

AVG(expr)

求平均值,返回指定列expr的平均值

五、MySQL 流程控制函数

IF(expr1,result1,result2)

判断,流程控制,表达式 expr1 得到不同的结果,当 expr1 为真是返回 result1 的值,否则返回 result2的值.

IFNULL(expr1,expr2)

判断是否为空,expr1不为null,则返回expr1的值,否则返回expr2的值

CASE

搜索语句,语法:

CASE case_value
WHEN when_value THEN
statement_list
ELSE
statement_list
END CASE;

标签: mysql 数据库

本文转载自: https://blog.csdn.net/lemon_linaa/article/details/132203982
版权归原作者 lemon_linaa 所有, 如有侵权,请联系我们删除。

“MysQL函数”的评论:

还没有评论