MYSQL函数分为几种

  1. 数学函数
  2. 字符串函数
  3. 日期和时间函数
  4. 条件判断函数
  5. 系统信息函数
  6. 加密函数
  7. 格式化函数

一:数学函数

主要使用的几个数学函数

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函数的更多相关文章

  1. MYSQL数据库学习----MYSQL数据类型

    一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节. 通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型 ...

  2. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数

    mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...

  7. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  8. MySQL数据库学习: 01 —— 数据库的概述

    壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...

  9. MySQL数据库学习----理论基础

    一:数据存储发展过程 1. 人工管理阶段 主要存储在纸带.磁带等介质中,手工记录,效率低下. 2. 文件系统阶段 存储在计算机磁盘中,以文件形式出现,数据管理变得简单,但是数据没有结构化处理,不易于查 ...

随机推荐

  1. codevs——1294 全排列

    1294 全排列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 给出一个n, 请输出n的所有全 ...

  2. luogu P1476 休息中的小呆

    题目描述 当大家在考场中接受考验(折磨?)的时候,小呆正在悠闲(欠扁)地玩一个叫“最初梦想”的游戏.游戏描述的是一个叫pass的有志少年在不同的时空穿越对抗传说中的大魔王chinesesonic的故事 ...

  3. 更改Tomcat命令行窗体标题

     在windows下启动多个tomcat时.不好区分哪个tomcat相应哪个服务,能够通过下面方法设置Tomcat命令行窗体的标题: 1.在%tomcat_home%\bin\catalina.b ...

  4. AspNet MVC4 教学-23:Asp.Net MVC4 Display And Editor 模板技术高速应用Demo

    A.创建Basic类型的项目. B.在Model文件夹下,创建3个文件: Role.cs: using System; using System.Collections.Generic; using ...

  5. Network Booting

    http://en.wikipedia.org/wiki/Network_booting Network booting Network booting is the process of booti ...

  6. Android(Linux)模拟按键、触摸屏等事件

    前提: 在我们应用程序或者在写Android自己主动化測试时候经常会须要模拟实体按键,来给我们做測试用.这也是我要整理的目的. 基本的涉及的是Linux Input Event事件. 下面的样例基于A ...

  7. 常用的sql命令

    1 mysql创建数据库 create database [database name]; 2 创建表 create table [table name]([first column name] [f ...

  8. yarn笔记

    常用命令: 创建项目:yarn init 安装依赖包:yarn == yarn install 添加依赖包:yarn add Yarn命令列表 命令 操作 参数 标签 yarn add 添加依赖包 包 ...

  9. update外联表,用另一个表数据更新本表数据

    update s set s.classbid = lc.itemidfrom    dbo.Lv_servers as s INNER JOIN dbo.Lv_LineChannel as lc O ...

  10. DDD领域建模基本流程

    整理一个精简的DDD领域建模基本流程,供大家在DDD领域建模实践中进行参考. 搜集用户故事(用户的原始需求) 整理用户故事,抽出用例(用例表达了用户对系统的需求,定义了系统的边界以及系统外部角色和系统 ...