美文网首页
MySQL常用函数

MySQL常用函数

作者: 一笑乘风凉 | 来源:发表于2021-03-11 14:00 被阅读0次

MySQL常用函数分为四种:
1、字符串函数:用于处理字符串
2、数值函数:用于处理数字
3、日期和时间函数
4、系统信息函数:用于获取MySQL软件的系统信息

一、字符串函数

CANCAT(str1,str2,...strn)   连接字符串str1,str2,...strn为一个完整字符串
INSERT(str,x,y,instr)       将字符串str从x位置开始,y个字符长的子串替换为instr
LOWER(str)                  将字符串str中所有字符变为小写
UPPER(str)                  将字符串str中所有字符变为大写
LEFT(str,x)                 返回字符串str中最左边的x个字符
RIGHT(str,x)                返回字符串str中最右边的x个字符
LPAD(str,n,pad)             使用字符串pad对字符串str最左边进行填充,直到长度为n
RPAD(str,n,pad)             使用字符串pad对字符串str最右边进行填充,直到长度为n
LTRIM(str)                  去掉字符串str左边的空格
RTRIM(str)                  去掉字符串str右边的空格
REPEAT(str,x)               返回字符串str重复x遍的结果
REPLACE(str,a,b)            使用字符串b替换字符串str中所有出现的字符串a
STRCMP(str1,str2)           比较字符串str1和str2
TRIM(str)                   去掉字符串str行头和行尾的空格
SUBSTRING(str,x,y)          返回字符串str中从x位置起y个字符长度的字符串
1、合并字符串函数CONCAT()和CONCAT_WS()
SELECT CONCAT('My','S','QL')   结果为MySQL
SELECT CONCAT('My','S','QL',NULL)  结果为 null
SELECT CONCAT_WS('-','S','QL')    结果为 S-QL
SELECT CONCAT_WS('-','S','QL',NULL) 结果为 S-QL
SELECT CONCAT_WS(NULL,'S','QL')   结果为 null
2、比较字符串大小函数STRCMP()
SELECT STRCMP('abc','abc')   结果为0
SELECT STRCMP('abc','bca')   结果为-1
SELECT STRCMP('bca','abc')   结果为1
3、获取字符串长度函数LENGTH()和字符数函数CHAR_LENGTH()
SELECT 'MySQL' 英文字符串,
LENGTH('MySQL') 字符串字符长度,
'常建功' 中文字符串,
LENGTH('常建功') 字符串字符长度
SELECT 'MySQL' 英文字符串,
CHAR_LENGTH('MySQL') 字符串字符长度,
'常建功' 中文字符串,
CHAR_LENGTH('常建功') 字符串字符长度
image.png
image.png
4、实现字符大小写转换函数UPEER()和LOWER()
SELECT 'mysql' 字符串,
UPPER('mysql') 字符串,
UCASE('mysql') 字符串
image.png
SELECT 'MYSQL' 字符串,
LOWER('MYSQL') 字符串,
LCASE('MYSQL') 字符串
image.png
5、查找字符串
(1)返回字符串位置的FIND_IN_SET()函数
SELECT FIND_IN_SET('wdw','qwe,dfc,ser,wdw')   结果为4
(2)返回指定字符串位置的FIELD()
SELECT FIELD('wdw','qwe','dfc','ser','wdw')  结果为4
(3)返回子字符串相匹配的开始位置LOCATE(),POSITION(),INSTR()
SELECT LOCATE('SQL','MySQL') 位置,
POSITION('SQL' IN 'MySQL') 位置,
INSTR('MySQL','SQL') 位置
image.png
(4)返回指定位置的字符串ELT()函数
SELECT ELT(2,'MySQL','oracle','sql server')
结果为oracle
(5)选择字符串的MAKE_SET()函数
SELECT BIN(5) 二进制数,MAKE_SET(5,'MySQL','Oracle','SQL Server','PostgreSQL') 选取后的字符串,
BIN(7) 二进制数,MAKE_SET(7,'MySQL','Oracle','SQL Server','PostgreSQL') 选取后的字符串;
image.png
6、从现有字符串中截取子字符串
(1)、从左边或者右边截取字符串LEFT()、RIGHT()
SELECT 'MySQL' 字符串, LEFT('MySQL',2) 前两个字符串,
RIGHT('MySQL',3) 后三个字符串
(2)截取指定位置和长度子字符串
SELECT 'oraclemysql' 字符串,
SUBSTRING('oraclemysql',7,5) 截取子字符串,
MID('oraclemysql',7,5) 截取子字符串
(3)、去除字符串的首尾空格
SELECT CONCAT('-',' MySQL ','-') 原来字符串,
CHAR_LENGTH(CONCAT('-',' MySQL ','-')) 原来字符串长度,
CONCAT('-',LTRIM(' MySQL '),'-') 处理后字符串,
CHAR_LENGTH(CONCAT('-',LTRIM(' MySQL '),'-')) 处理后字符串长度
(4)去除字符串结束处空格
SELECT CONCAT('-',' MySQL ','-') 原来字符串,
CHAR_LENGTH(CONCAT('-',' MySQL ','-')) 原来字符串长度,
CONCAT('-',RTRIM(' MySQL '),'-') 处理后字符串,
CHAR_LENGTH(CONCAT('-',RTRIM(' MySQL '),'-')) 处理后字符串长度
(5)去除字符串首尾空格
SELECT CONCAT('-',' MySQL ','-') 原来字符串,
CHAR_LENGTH(CONCAT('-',' MySQL ','-')) 原来字符串长度,
CONCAT('-',TRIM(' MySQL '),'-') 处理后字符串,
CHAR_LENGTH(CONCAT('-',TRIM(' MySQL '),'-')) 处理后字符串长度
(6)替换字符串INSERT()
SELECT '这是MySQL数据库管理系统' 字符串,
INSERT('这是MySQL数据库管理系统',3,5,'oracle') 处理后字符串
(7)执行SQL语句的INSERT()函数,当替换的起始位置大于字符串长度时,返回原字符串
SELECT '这是MySQL数据库管理系统' 字符串,
CHAR_LENGTH('这是MySQL数据库管理系统') 字符串字符数,
INSERT('这是MySQL数据库管理系统',16,15,'oracle') 处理后字符串
(8)执行SQL语句的INSERT()函数,当所要替换的长度大于原字符串剩余长度时,则从起始位置开始全部替换
SELECT '这是MySQL数据库管理系统' 字符串,
CHAR_LENGTH('MySQL数据库管理系统') 剩余字符数,
INSERT('这是MySQL数据库管理系统',3,15,'oracle') 处理后字符串
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
7、使用REPLACE()函数
SELECT '这是MySQL数据库管理系统' 字符串,
REPLACE('这是MySQL数据库管理系统','MySQL','oracle') 处理后字符串
image.png

二、数值函数

ABS(x)          返回数值x的绝对值
CEIL(x)         返回大于x的最大整数值
FLOOR(x)        返回小于x的最大整数值
MOD(x,y)        返回x模y的值
RAND()          返回0~1内的随机数
ROUND(x,y)      返回数值x的四舍五入后有y位小数的数值
TRUNCATE(x,y)   返回数值x截断为y位小数的数值
1、获取随机数
SELECT RAND()   获取不同的随机数
SELECT RAND(1)  获取相同的随机数
2、获取整数函数
SELECT CEIL(4.3), CEIL(-2.5), CEILING(4.3), CEILING(-2.5),FLOOR(4.3), FLOOR(-2.5)
image.png
3、截取数值函数
SELECT TRUNCATE(903.53567,2),TRUNCATE(903.53567,-1)
image.png
4、四舍五入函数
SELECT ROUND(903.53567),ROUND(-903.53567),ROUND(903.53567,2),ROUND(903.53567,-1)
image.png

三、日期和时间函数

1、获取当前日期和时间的函数
SELECT NOW() now方式, CURRENT_TIMESTAMP() timestamp方式, 
LOCALTIME() localtime方式, SYSDATE() systemdate方式
image.png
2、获取当前日期
SELECT CURDATE() curdate方式, CURRENT_DATE() current_date方式
image.png
3、获取当前时间
SELECT CURTIME() curtime方式, CURRENT_TIME() current_time方式
image.png
4、获取日期和时间各部分值
SELECT NOW() 当前日期和时间,
YEAR(NOW()) 年,
QUARTER(NOW()) 季度,
MONTH(NOW()) 月,
WEEK(NOW()) 星期,
DAYOFMONTH(NOW()) 天,
HOUR(NOW()) 小时,
MINUTE(NOW()) 分,
SECOND(NOW()) 秒
image.png
5、关于月的函数
SELECT NOW() 当前日期和时间,
MONTH(NOW()) 月,
MONTHNAME(NOW()) 月
image.png
6、关于星期的函数
SELECT NOW() 当前日期和时间,
WEEK(NOW()) 年中第几个星期,
WEEKOFYEAR(NOW()) 年中第几个星期,
DAYNAME(NOW()) 星期,
DAYOFWEEK(NOW()) 星期,
WEEKDAY(NOW()) 星期
image.png
7、关于天的函数
SELECT NOW() 当前日期和时间,
DAYOFYEAR(NOW()) 年中第几天,
DAYOFMONTH(NOW()) 月中第几天
image.png

四、系统信息函数

SELECT VERSION() 版本号,
DATABASE() 数据库名,
USER() 用户名
image.png

相关文章

  • MySQL 常用函数

    MySQL 常用函数 GROUP_CONCAT() 函数 CONCAT() 函数

  • 7、mysql常用函数

    7、mysql常用函数 7.1、IF函数 7.2、IFNULL函数 7.3、NULLIF 函数 7.4、CASE ...

  • Mysql常用函数

    ~~lpad(),rpad(): 字符长度填充: lpad(str,len,padstr) select LPAD...

  • mysql常用函数

    Conv(n,from_base,to_base) 对数字n进行进制转换并以字符串格式返回,from_base是原...

  • MySql常用函数

    本文引用燕归来http://www.zhoutao123.com/?p=99 字符串处理函数 字符串链接函数 可以...

  • MySQL常用函数

    字符串相关函数 1ASCII(String) 返回字符串第一个字母的ASCII码: SELECT ASCII('A...

  • MySQL 常用函数

    在 MySQL 数据库中,函数可以用在 SELECT 语句及其子句(例如 where、order by、havin...

  • MySQL 常用函数

    RAND() 函数 MySQL RAND() 函数可以被调用,产生一个在 0 和 1 之间的浮点数 当使用整数作为...

  • MySQL常用函数

    1.Concat(s1,s2...sn)函数:把传入的参数链接为一个字符串2.Insert(str,x,y,ins...

  • MySQL常用函数

    一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) ...

网友评论

      本文标题:MySQL常用函数

      本文链接:https://www.haomeiwen.com/subject/qlzvqltx.html