MYSQL数据库学习----MYSQL函数
MYSQL函数分为几种
- 数学函数
- 字符串函数
- 日期和时间函数
- 条件判断函数
- 系统信息函数
- 加密函数
- 格式化函数
一:数学函数
主要使用的几个数学函数
1 ABS()----绝对值函数
eg. SELECT ABS(-5);
返回 5
2 PI()----圆周率函数
eg. SELECT PI();
返回 3.141596
3 SIGN()----符号函数
正数返回1,0返回0,负数返回-1
eg. SELECT SIGN(5),SIGN(0),SIGN(-5);
返回 1,0,-1
4 RAND()----随机函数
返回0~1之间的随机数
eg. SELECT RAND();
返回 0.92321421341234
如果需要返回一个0~100的随机数可以SELECT RAND()*100;
5 CEIL(x)----整数函数
返回一个大于或者等于x的最小整数
eg. SELECT CEIL(9.1);
返回 10
6 FLOOR(x)----整数函数
返回一个小于或者等于x的最大整数
eg. SELECT FLOOR(9.1);
返回 9
数学函数还有其他的正弦函数,余弦函数等等等,这里就不一一举例。
二:字符串函数
1 LENGTH(s)----字符串长度函数
返回字符串s的字符长度
eg. SELECT LENGTH("MYSQL");
返回 5
2 CONCAT(s1,s2,....)----将字符串1和字符串2多个字符串合并为一个字符串
eg. SELECT CONCAT("MYSQL","DATABASE");
返回 ”MYSQLDATABASE"
3 UPPER(s)/LOWER(s)----字符串大小写函数
UPPER(s):字符串s全部大写
LOWER(s):字符串s全部小写
4 INSTR(s,s1)----字符在字符串中的位置函数
字符串s中字符s1的开始位置
eg. INSTR("MYSQL", "Y");
返回 2
5 LEFT(s,n)/RIGHT(s,n)/SUBSTRING(s,n,len)----字符串截取函数
LEFT(s,n):返回字符串s前n个字符
RIGHT(s,n):返回字符串s后n个字符
SUBSTRING(s,n,len):返回字符串第n个字符开始len个字符串
6 LTRIM(s)/RTRIM(s)/TRIM(s)/TRIM(s1 FROM s)----去掉字符串两端的空格或者特定字符函数
LTRIM(s):去掉字符串s左边的空格
RTRIM(s):去掉字符串s右边的空格
TRIM(s):去掉字符串s两边的空格
TRIM(s1 FROM s):去掉字符串s两边的字符串s1
7 REPEAT(s,n)----重复字符串函数
eg. SELECT REPEAT("MYSQL",2);
返回 "MYSQLMYSQL"
三:日期和时间函数
MYSQL中日期和时间函数,分为日期函数,时间函数还有就是日期和时间合在一起的函数,日期函数就是指年,月,日这些,时间函数就是时,分,秒函数
1 CURDATE()/CURRENT_DATE()----当前日期函数
2 CURTIME()/CURRENT_TIME()----当前时间函数
3 NOW()/LOCALTIME()/SYSDATE()/CURRENT_TIMESTAMP()----当前日期时间函数
4 MONTH(D)----当前日期的月份值
5 MONTHNAME(D)----当前日期的月份名称
6 DAYOFMONTH(D)----当前日期是本月的第几天
7 DAYNAME(D)----当前日期是星期几(名称)
8 DAYOFWEEK(D)----当前日期是星期几(数值)1表示星期日,2表示星期一
9 WEEKDAY(D)----当前日期是星期几(数值)0表示星期日,1表示星期一
10 WEEK(D)----当前日期是本年中第几个星期(数值)范围0~53
11 WEEKOFYEAR(D)----当前日期是本年中第几个星期(数值)范围1~53
12 YEAR(D)----当前的年份值
13 HOUR(T)----当前时间的小时值
14 MINUTE(T)----当前时间的分钟值
15 SECOND(T)----当前时间的秒钟值
16 ADDDATE(D,N)----当前日期向后N天后的日期
17 SUBDATE(D,N)----当前日期向前N天后的日期
18 ADDTIME(T,N)----当前时间加上N秒后的时间
19 SUBTIME(T,N)----当前时间减去N秒后的时间
四:条件判断函数
1 IF(条件表达式, s1, s2)----判断语句
如果条件表达式为真,则返回字符串s1
如果条件表达式为假,则返回字符串s2
eg. 假设有个表格demo
| id | count |
| 1 | 90 |
| 2 | 50 |
SELECT id,count,IF(count>=60,'PASS','FAIL') AS status FROM demo;
| id | count | status |
| 1 | 90 | PASS |
| 2 | 50 | FAIL |
2 IFNULL(s1, s2)----判断是否为NULL函数
如果s1不为NULL就返回s1,否则返回s2
3 CASE函数
CASE WHEN 条件表达式1 THEN s1 WHEN 条件表达式2 THEN s2...END
CASE 字段 WHEN 条件表达式1 THEN s1 WHEN 条件表达式2 THEN s2...END
CASE开始....END结束
两种写法都是同一个意思,都是当条件表达式1为真时则返回s1,当条件表达式2为真时则返回s2
eg. 假设有个表格demo
| id | count |
| 1 | 90 |
| 2 | 50 |
SELECT id, count CASE WHEN count>60 'PASS' WHEN count<60 'FAIL' END AS status FROM demo;
| id | count | status |
| 1 | 90 | PASS |
| 2 | 50 | FAIL |
五:系统信息函数
1 VERSION()----MYSQL版本函数
2 CONNECTION_ID()----数据库连接数函数
3 DATABASE()----当前使用的数据库名称函数
4 USER()----当前访问数据库用户名称函数
其他的几个系统信息函数不是经常用到,这里就不一一举例
六:加密函数
1 PASSWORD(s):加密函数,一般是给用户密码加密的,是不可逆加密函数
2 MD5(s):MD5加密,是不可逆加密函数
3 ENCODE(s,s1):用字符s1给字符串s加密
4 DECODE(s,s1):用字符s1给字符串s解密
七:其他函数
1 FORMAT(x,n):格式化函数,对x数值四舍五入并且保留小数点后n位
2 INET_ATON(ip):将IP转换为数字表示
3 INET_NTOA(ip):将数字转换为IP表示
MYSQL数据库学习----MYSQL函数的更多相关文章
- MYSQL数据库学习----MYSQL数据类型
一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节. 通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数
mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
- MySQL数据库学习----理论基础
一:数据存储发展过程 1. 人工管理阶段 主要存储在纸带.磁带等介质中,手工记录,效率低下. 2. 文件系统阶段 存储在计算机磁盘中,以文件形式出现,数据管理变得简单,但是数据没有结构化处理,不易于查 ...
随机推荐
- 详解DNS,你真的懂吗?
what`s this ? 概念 域名系统(英文:DomainNameSystem,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.D ...
- 洛谷——P2298 Mzc和男家丁的游戏
P2298 Mzc和男家丁的游戏 题目背景 mzc与djn的第二弹. 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过上一弹的都知道).他把她们召集在了一起,他们决定玩捉迷藏.现在mzc要来 ...
- luogu P1704 寻找最优美做题曲线
题目背景 nodgd是一个喜欢写程序的同学,前不久(好像还是有点久了)洛谷OJ横空出世,nodgd同学当然第一时间来到洛谷OJ刷题.于是发生了一系列有趣的事情,他就打算用这些事情来出题恶心大家-- 题 ...
- Java Enum枚举的用法(转)
说明:Java的枚举比dotnet的枚举好用,至少支持的方式有很多. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以 ...
- 【LeetCode】Generate Parentheses 解题报告
[题目] Given n pairs of parentheses, write a function to generate all combinations of well-formed pare ...
- 上篇:es5、es6、es7中的异步写法
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载联系作者并保留声明头部与原文链接https://luzeshu.com/blog/es-async 本博客同步在http://www.cnbl ...
- indexOf 和 lastIndexOf 的区别
indexOf 和 lastIndexOf 是什么? indexOf 和 lastIndexOf 都是索引文件 indexOf 是查某个指定的字符串在字符串首次出现的位置(索引值) (也就是从前往后查 ...
- Allegro改动shape网络节点
使用Allegro时改动shape的网络节点方法: ①选择shape->Select Shape or Void/Cavity ②选择要改动的shape ③点击(...)改动网络节点的名字 ④改 ...
- HDU 3305 Ice-sugar Gourd
Ice-sugar Gourd Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 前端编程提高之旅(五)----写给大家看的css书
自实习也有几个月的时间了,以爱奇艺实习为敲门砖.进入了眼下这家公司.假设说当初能进爱奇艺是暂时袭击DIV+CSS的话,眼下在这家公司体验到.不论什么技术都必须悉知原理,这样才干做到庖丁解牛.做一 ...