mysql独有的函数_数据库之MySQL函数(一)
一、数学函数
1、绝对值函数
ABS(x) :返回 x 的绝对值
mysql> select ABS(2),ABS(-2.3),ABS(-22);
返回的结果如下:
数学学得好的大佬应该知道(本人是个数学渣。。。。),负数的绝对值是正数,正数的绝对值还是正数本身
2、 返回圆周率的函数
PI() :返回圆周率值
mysql> select PI();
返回结果如下:
本应该是3.1415926.......,但是他将6给四舍五入了,所以返回结果为3.141593
3、平方根函数
SQRT(x) :可以返回非负数 x 的二次方根
mysql> select SQRT(9),SQRT(40),SQRT(-49);
4、求余函数
MOD(x,y)
返回 x 被 y 除后的余数,对于带有小数部分的数值也起作用
mysql> select MOD(31,8),MOD(234,10),MOD(45.5,6);
5、 获取整数的函数
CEIL(x) :返回不小于 x 的小整数值
CEILING(x) :返回不小于 x 的小整数
FLOOR(x) :返回不大于 x 的大整数值
mysql> select CEIL(-3.35),CEIL(3.35),CEILING(-3.35),CEILING(3.35),FLOOR(-3.35),FLOOR(3.35);
6、获取随机数的函数
RAND() :返回一个随机浮点值,范围在 0 ~ 1 之间
RAND(x) :返回一个随机浮点值,范围在 0~1 之间,x 被用作种子值,用来产生重复序列
mysql> mysql> select RAND(),RAND(),RAND(5),RAND(5),RAND(8);
返回的结果如下:
7、 四舍五入的函数:
ROUND(x) : 用于对 x 进行四舍五入
ROUND(x,y):用于对 x 进行四舍五入,并保留小数点后 y 位
mysql> select ROUND(-1.14),ROUND(1.14),ROUND(1.38,1),ROUND(1.38,0),ROUND(232.38,-1),ROUND(232.38,-2);
8、截取数值的函数
TRUNCATE(x,y) 用于对 x 进行截取,结果保留小数点后 y 位
mysql> select TRUNCATE(1.31,1),TRUNCATE(1.99,1),TRUNCATE(1.99,0);
9、符号函数
SIGN(x) :用于返回参数 x 的符号,当 x 为负数时返回 -1 ,当 x 为正数时返回 1 , 当 x 为 零时返回 0
mysql> select SIGN(-21),SIGN(0),SIGN(21);
10、幂运算函数
POW(x,y) :用于返回 x 的 y 次方的结果
POWER(x,y) :和pow用法一样,只是多了个er
EXP(x) :返回e的值(自然对数的底数),升为X的幂(我看这段话也是看的一头雾水,本人数学渣)
mysql> select POW(2,4),POWER(2,-4),EXP(3);
11、对数运算函数
LOG(x) :返回 x 的自然对数,x为负数则返回为空
LOG10(x): 计算以 10 为基数的对数
mysql> select LOG(3),LOG(-3),LOG10(2),LOG10(100),LOG10(-100);
12、角度与弧度相互转换的函数
RADIANS(x) :用于将参数 x 由角度转化为弧度
DEGREES(x) :用于将参数 x 由弧度转化为角度
mysql> select RADIANS(90),RADIANS(180),DEGREES(PI()),DEGREES(PI()/2);
13、正弦函数和反正弦函数
SIN(x) :用于返回 x 的正弦值,其中 x 为弧度值
ASIN(x) :用于返回 x 的反正弦,即正弦为 x 的值
mysql> select SIN(1),ROUND(SIN(PI())),ASIN(0.8414709848078965),ASIN(3);
14、余弦函数和反余弦函数
COS(x) :用于返回 x 的余弦,其中 x 为弧度值
ACOS(x) :用于返回 x 的反余弦,即余弦是 x 的值
mysql> select COS(0),COS(PI()),COS(1),ACOS(1),ACOS(0),ROUND(ACOS(0.5403023058681397));
15、正切函数、反正切函数、余切函数
TAN(x) :返回 x 的正切,其中 x 为给定的弧 度值
ATAN(x) :用于返回 x 的反正切,即正切为 x 的值
COT(x) :用于返回 x 的余切
mysql> select TAN(0.3), ROUND(TAN(PI()/4)),ATAN(0.30933624960962325), ATAN(1),COT(0.3), 1/TAN(0.3), COT(PI()/4);
二、 字符串函数
1、 计算字符串长度的函数
CHAR_LENGTH(str) :用于统计 str 的字符个数
LENGTH(str) :用于统计 str 的字节长度,使用 utf8 编码字符集时,一个汉字是3个字节,一个数字或字母是1个 字节
mysql> select CHAR_LENGTH('date'), CHAR_LENGTH('egg'),LENGTH('date'), LENGTH('egg'),LENGTH('汉字');
2、合并字符串的函数
CONCAT(s1,s2,...) :用于合并字符串 s1, s2, ..... ,如果有一个参数为 NULL,则结果为 NULL
CONCAT_WS(x,s1,s2,...) :以 x 作为分隔符,将 s1, s2, .... 合并,如果 分隔符为 NULL ,则结果为 NULL
mysql> select CONCAT('My','SQL','5.7'), CONCAT('My',NULL,'SQL');
mysql> select CONCAT_WS('-','1st','2nd','3rd'), CONCAT_WS(NULL,'1st','2nd','3rd');
3、替换字符串的函数
INSERT(s1,x,len,s2)
(1) INSERT(s1,x,len,s2) 用于返回字符串 s1,其子字符串起始于 x 位 置和被字符串 s2 取代的 len 字符
(2) 如果 x 超过字符串长度,则返回值为原始字符串,如果 len 的长度大于其 他字符串的长度则从位置 x 开始替换
(3) 如果任何一个参数为 NULL ,则返回值为 NULL
mysql> select INSERT('Quest', 2, 4, 'What') AS col1,INSERT('Quest', -1, 4, 'What') AS col2,INSERT('Quest', 3, 100, 'Wh') AS col3;
4、转换大小写的函数
LOWER(str) :用于将字符串 str 中的 字母字符全部转换成小写字母
LCASE(str) :用于将字符串 str 中的字母字符全部转换成小写字母
UPPER(str) :用于将 str 中的小写字母转换成大写字母
UCASE(str) :用于将 str 中的小写字母转换成大写字母
mysql> select LOWER('BEAUTIFUL'), LOWER('Well'),LCASE('BEAUTIFUL'), LCASE('Well'), UPPER('black'), UPPER('BLacK'),UCASE('black'), UCASE('BLacK');
5、获取指定长度的字符串的函数
LEFT(s,n) :用于返回字符串 s 开始的左边 n 个字符
RIGHT(s,n) :用于返回字符串 s 中右边 n 个字符
mysql> select LEFT('football', 5),RIGHT('football',4);
6、填充字符串的函数
LPAD(s1,len,s2) :返回字符串 s1 ,其左边由字符串 s2 填充到 len 字符长度,如果 s1 的长度大于 len ,则返回值被缩短至 len 长度
RPAD(s1,len,s2) :返回字符串 s1 ,其右边由字符串 s2 填充到 len 字符长度,如果 s1 的长度大于 len ,则返回值 被缩短至 len 长度
mysql> select LPAD('hello',4,'??'), LPAD('hello',10,'??'),RPAD('hello',4,'?'), RPAD('hello',10,'?');
可以看到上图中字符串'hello'长度大于4,不需要填充,只被缩短。第二字符串'hello'长度小于10,因此被填充。
7、删除空格的函数
LTRIM(s) :用于删除字符串 s 左侧的空格
RTRIM(s) :用于删除字符串 s 右侧的空格
TRIM(s) :用于删除字符串 s 两侧的空格
mysql> select LTRIM(' book '),RTRIM(' book '),TRIM(' book ');
8、删除指定字符串的函数
TRIM(s1 FROM s) 用于删除字符串 s 中两端所有的子字符串 s1 , 如果没有指定 s1 ,则默认删除字符串 s 两侧的空格
mysql> select TRIM('xy' FROM 'xyxyabcxy');
9、重复生成字符串的函数
REPEAT(s,n) :用于重复字符串 s ,n 表示重复多少次
mysql> select REPEAT('mysql',3);
10、空格函数
SPACE(n): 用于返回 n 个空格
mysql> select SPACE(10);
mysql> select SPACE(20);
11、替换函数
REPLACE(s,s1,s2) 表示使用字符串 s2 替换字符串 s 中所有的字符串 s1
mysql> select REPLACE('xxx.mysql.com', 'x', 'w');
12、比较字符串大小的函数
STRCMP(s1,s2) 用于比较字符串 s1 和 s2 的大小,若所有字符串相 同则返回 0 ,若第一个字符串大于第二个字符串则返回 1 ,若第一个字符串小于第二个字符串则返回 -1
mysql> select STRCMP('txt', 'txt2'), STRCMP('txt', 'txt');
13、获取子字符串的函数
SUBSTRING(s,n,len) :用于获取指定位置的子字符 串
MID(s,n,len):用于获取指定位置的子字符串
mysql> select SUBSTRING('breakfast',5) AS col1, # 从第5个字符串开始获取
-> SUBSTRING('breakfast',5,3) AS col2, # 从第5个字符串开始,获取3个
-> SUBSTRING('breakfast',-5) AS col3, # (倒向)从第5个字符串开始获取
-> SUBSTRING('breakfast',-5,3) AS col4; # (倒向)从第5个字符串开始获取,获取 3个
mysql> select MID('breakfast',5) AS col1, #同上
-> MID('breakfast',5,3) AS col2,
-> MID('breakfast',-5) AS col3,
-> MID('breakfast',-5,3) AS col4;
14、匹配子字符串开始位置的函数
LOCATE(str1,str) :用于返回字符串 str1 在字符串 str 中的开始位置
POSITION(str1 IN str): 用于返回字符串 str1 在字符串 str 中的开始位置
INSTR(str, str1) :用于返回子字符串 str1 在字符串 str 中的开始位置
mysql> select LOCATE('ball', 'football'),POSITION('ball' IN 'football'),INSTR('football', 'ball');
15、反转字符串的函数
REVERSE(s) 用于将字符串 s 反转
mysql> select REVERSE('abcd');
16、返回指定位置的字符串的函数
ELT(n, s1, s2, s3, .....) 用于返回第 n 个字符串,如果 n 超出范围则返回 NULL
mysql> select ELT(3, 'a', 'b', 'c', 'd'), ELT(5, 'a', 'b', 'c', 'd');
17、返回指定字符串位置的函数
FIELD(s, s1, s2, .....) 用于返回字符串 s 在列表 s1, s2, .... 中 的位置,如果不存在字符串 s 则返回 0 ,如果字符串 s 是 NULL 也返回 0
mysql> select FIELD('hi', 'hihi', 'hey', 'hi', 'bas');
18、返回子字符串位置的函数
FIND_IN_SET(s1, s2) 用于返回字符串 s1 在字符串列表 s2 中的位置
mysql> select FIND_IN_SET('hi', 'hihi,hey,hi,bas'); # 注意s2是一个列表
mysql独有的函数_数据库之MySQL函数(一)相关推荐
- mysql数据库支持的函数_数据库MySQL--常见函数
函数:将一组逻辑语句封装在函数体中,对外暴露函数名 调用:select 函数名() from 表:(若用到表中的字段则家上'from 表') 函数分类: 1.单行函数(例:concate.leng ...
- 查询mysql的函数_数据库基本查询函数
1.注释语法:--,# 2.后缀是.sql的文件是数据库查询文件 3.保存查询 4.在数据库里面 列有个名字叫字段 行有个名字叫记录 CRUD操作: create 创建(添加) read 读取 upd ...
- mysql sql stuff函数_数据库SQLServer Stuff函数用法
STUFF 函数将字符串插入到另一个字符串中. 它从第一个字符串的开始位置删除指定长度的字符:然后将第二个字符串插入到第一个字符串的开始位置. 参数详解 1.character_expression ...
- mysql begin end 用法_数据库:Mysql中“select ... for update”排他锁分析
作者:志波同学来源:https://mp.weixin.qq.com/s/8uH-7TD9ZRG4NCya80mOHg Mysql InnoDB 排他锁 用法:select - for update; ...
- mysql整段注释_数据库单行注释 MySQL可以在SQL代
MySQL可以在SQL代码中注释的.可用两个方式经行注释. 1.以" #"号开头直到行尾的所有内容都认为是注释. 2.另一种为C 风格的注释.即,以"/ *"开 ...
- mysql update 排他锁_数据库:Mysql中“select ... for update”排他锁分析
Mysql InnoDB 排他锁 用法: select - for update; 例如:select * from goods where id = 1 for update; 排他锁的申请前提:没 ...
- MySQL百一题库_数据库应用MySQL试题题目及答案,课程2020最新期末考试题库,章节测验答案...
一台原价2000元的洗衣机,先降价10%&2bsp;后来又提价10%,这时价格还是2000元.______.(判断对错) 淘气有中u本课外书,笑笑有u0本课外书.求淘气的课外书比笑笑少百分之几 ...
- mysql 常规命令操作_常见的MySQL命令大全
一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot ...
- mysql 数据库命令大全_常用的MySQL数据库命令大全
飞信2017V5.6.8860.0 官方正式版 类型:聊天其它大小:69.1M语言:中文 评分:9.6 标签: 立即下载 常用的MySQL命令大全 一.连接MySQL 格式: mysql -h主机地址 ...
最新文章
- share_ptr_c++11
- Quartz.Net—MisFire
- htmlunit爬虫工具使用--模拟浏览器发送请求,获取JS动态生成的页面内容
- GetListToJson
- 阿里分布式服务框架Dubbo的架构总结
- java 方法大全_java中的方法大全
- for range循环通道
- 20万台联网医用输液泵中,逾10万台含未修复的老旧严重漏洞
- 数电渣渣的一点学习感想(更新中)
- 爬虫如何爬取微信公众号文章
- 软件工程能调剂到计算机么,愿意调剂到计算机专业或软件工程专业
- UltraEdit 注册机使用激活方法
- 打印时显示rpc服务器不可用,打印时出现RPC服务器不可用 ?
- 扫描全能王?原来图像技术可以这样子玩
- 如何理解DeepFool算法
- 网易免费企业邮箱服务器地址
- 一个正经的电商运营每天应该看哪些数据?
- 【小程序精品源码系列】小说阅读器
- 映目云摄影以人脸识别惊艳Party现场,比亚迪元EV周年庆生
- World中利用宏命令批量删除页眉和页脚
热门文章
- python中的类装饰器应用场景_这是我见过最全面的Python装饰器教程了!
- 电大计算机网络网考,电大计算机网络(本)学习周期01任务A_0009答案
- linux c字符连接,C 语言实例
- wordpress 主题教程-笔记
- Javascript 函数详解
- 一个跨平台的 C++ 内存泄漏检测器
- [Oracle]使用滚动游标
- [react] 请说说什么是useImperativeHandle?
- [react] Consumer向上找不到Provider的时候怎么办?
- 前端学习(3126):react-hello-react之总结props