更新时间:2021-01-12 17:47:24 来源:极悦 浏览1603次
为了简化操作,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教程中学习。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习