专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 MySQL常用函数详解

MySQL常用函数详解

更新时间:2021-01-12 17:47:24 来源:动力节点 浏览1501次

为了简化操作,MySQL提供了大量的函数给开发人员使用(比如你想输入当前时间,可以调用now()函数)。通俗点讲,MySQL中的函数相当于java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 ,隐藏了实现细节的同时也提高代码的可重用性。MySQL函数可以出现在插入语句的values()中,更新语句中,删除语句中,查询语句及其子句中。本文我们就来为大家介绍MySQL常用函数

 

1.数学函数

ABS(x):返回x的绝对值

BIN(x):返回x的二进制

PI():返回圆周率π,默认显示6位小数

SQRT(x):返回非负数的x的二次方根

MOD(x,y):返回x被y除后的余

CEIL(x)、CEILING(x):返回不小于x的最小整数

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

GREATEST(x1,x2,...,xn):返回集合中最大的值

LEAST(x1,x2,...,xn):返回集合中最小的值

ROUND(x)、ROUND(x,y):前者返回最接近于x的整数,即对x进行四舍五入;后者返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位

SIGN(x):返回参数x的符号,-1表示负数,0表示0,1表示正数

POW(x,y)、POWER(x,y):返回x的y次乘方的值

EXP(x):返回e的x乘方后的值

LN(x):返回x的自然对数

LOG(x,y):返回x的以y为底的对数

LOG10(x):返回x的基数为10的对数

RADIANS(x):返回x由角度转化为弧度的值

DEGREES(x):返回x由弧度转化为角度的值

SIN(x)、ASIN(x):前者返回x的正弦,其中x为给定的弧度值;后者返回x的反正弦值,x为正弦

COS(x)、ACOS(x):前者返回x的余弦,其中x为给定的弧度值;后者返回x的反余弦值,x为余弦

TAN(x)、ATAN(x):前者返回x的正切,其中x为给定的弧度值;后者返回x的反正切值,x为正切

COT(x):返回给定弧度值x的余切

RAND():返回 0 到 1 内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值

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

 

2.聚合函数

AVG(col):返回指定列的平均值

COUNT(col):返回指定列中非NULL值的个数

MIN(col):返回指定列的最小值

MAX(col):返回指定列的最大值

SUM(col):返回指定列的所有值之和

GROUP_CONCAT(col):返回由属于一组的列值连接组合而成的结果

 

3.字符串函数

STR_TO_DATE(str,fmt):字符串转时间,fmt 日期格式见下方

LENGTH(str):计算字符串字符个数

CONCAT(s1,s2,...):返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL

CONCAT_WS(x,s1,s2,...):返回多个字符串拼接之后的字符串,每个字符串之间有一个x

INSERT(s1,x,len,s2):返回字符串s1,其子字符串起始于位置x,被字符串s2取代len个字符

LOWER(str)和LCASE(str)、UPPER(str)和UCASE(str):前两者将str中的字母全部转换成小写,后两者将字符串中的字母全部转换成大写

LEFT(s,n)、RIGHT(s,n):前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符

LPAD(s1,len,s2)、RPAD(s1,len,s2):前者返回s1,其左边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符;前者返回s1,其右边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符

LTRIM(s)、RTRIM(s):前者返回字符串s,其左边所有空格被删除;后者返回字符串s,其右边所有空格被删除

TRIM(s):返回字符串s删除了两边空格之后的字符串

TRIM(s1 FROM s):删除字符串s两端所有子字符串s1,未指定s1的情况下则默认删除空格

REPEAT(s,n):返回一个由重复字符串s组成的字符串,字符串s的数目等于n

SPACE(n):返回一个由n个空格组成的字符串

REPLACE(s,s1,s2):返回一个字符串,用字符串s2替代字符串s中所有的字符串s1

STRCMP(s1,s2):若s1和s2中所有的字符串都相同,则返回0;根据当前分类次序,第一个参数小于第二个则返回-1,其他情况返回1

LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1):三个函数作用相同,返回子字符串str1在字符串str中的开始位置(从第几个字符开始)

REVERSE(s):将字符串s反转

ELT(N,str1,str2,str3,str4,...):返回第N个字符串

CONVERT(str USING charset):使用字符集charset表示字符串str

 

4.日期时间函数

CURDATE()、CURRENT_DATE():将当前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定

CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE():这四个函数作用相同,返回当前日期和时间值,格式为"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具体格式根据函数用在字符串或数字语境中而定

FROM_UNIXTIME(date):和UNIX_TIMESTAMP互为反函数,把UNIX时间戳转换为普通格式的时间

MONTH(date)、MONTHNAME(date):前者返回指定日期中的月份,后者返回指定日期中的月份的名称

DAYNAME(d)、DAYOFWEEK(d)、WEEKDAY(d):DAYNAME(d)返回d对应的工作日的英文名称,如Sunday、Monday等;DAYOFWEEK(d)返回的对应一周中的索引,1表示周日、2表示周一;WEEKDAY(d)表示d对应的工作日索引,0表示周一,1表示周二

WEEK(d)、WEEKOFYEAD(d):前者计算日期d是一年中的第几周,后者计算某一天位于一年中的第几周

DAYOFYEAR(d)、DAYOFMONTH(d):前者返回d是一年中的第几天,后者返回d是一月中的第几天

YEAR(date)、QUARTER(date)、MINUTE(time)、SECOND(time):YEAR(date)返回指定日期对应的年份,范围是19702069;QUARTER(date)返回date对应一年中的季度,范围是14;MINUTE(time)返回time对应的分钟数,范围是0~59;SECOND(time)返回制定时间的秒值

EXTRACE(type FROM date):从日期中提取一部分,type可以是YEAR、YEAR_MONTH、DAY_HOUR、DAY_MICROSECOND、DAY_MINUTE、DAY_SECOND

TIME_TO_SEC(time):返回以转换为秒的time参数,转换公式为"3600*小时 + 60*分钟 + 秒

SEC_TO_TIME():和TIME_TO_SEC(time)互为反函数,将秒值转换为时间格式

DATE_SUB(date,INTERVAL expr type)、SUBDATE(date,INTERVAL expr type):返回将起始时间减去expr type之后的时间

ADDTIME(date,expr)、SUBTIME(date,expr):前者进行date的时间加操作,后者进行date的时间减操作

 

5.格式化函数

DATE_FORMAT(date,fmt):依照字符串fmt格式化日期date值

FORMAT(x,y):将数字 x 格式化,并以四舍五入的方式保留小数点后 y 位,结果以字符串形式返回

INET_ATON(ip):返回IP地址的数字表示

INET_NTOA(num):返回数字所代表的IP地址

TIME_FORMAT(time,fmt):依照字符串fmt格式化时间time值 

 

以上就是为大家介绍的MySQL常用函数,总的来说,数量很庞大,但是都是我们在日常操作和使用MySQL数据库中可能用到的,对于我们使用MySQL数据库有一定的帮助,在本站的MySQL教程中还有许多不经常使用的MySQL函数的介绍,感兴趣的小伙伴可以在本站的MySQL教程中学习。

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>