Mysql常用函数总结(二)
有的时候们需要了解当前的时间,这时候我们就可以调用时间函数了。下面就是一些常用的时间函数
下面来说一下DATE_FORMAT(date,format):format可以有以下格式符:举个例子吧!
mysql> SELECT DATE_FORMAT('2017-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('2017-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Sunday October |
+------------------------------------------------+
row in set (0.00 sec)
mysql> SELECT DATE_FORMAT(now(),'%H %k %I %r %T %S %w');
+-------------------------------------------+
| DATE_FORMAT(now(),'%H %k %I %r %T %S %w') |
+-------------------------------------------+
| :: PM :: |
+-------------------------------------------+
row in set (0.00 sec)
再来看一下DATE_ADD(date,INTERVAL expr unit):其中INTERVAL是关键字,expr是一个表达式,unit为间隔类型,MySQL提供如下的间隔类型:
mysql> SELECT DATE_ADD('2000-12-31 23:59:59',INTERVAL SECOND);
+---------------------------------------------------+
| DATE_ADD('2000-12-31 23:59:59',INTERVAL SECOND) |
+---------------------------------------------------+
| -- :: |
+---------------------------------------------------+
row in set (0.00 sec)
mysql> SELECT DATE_ADD('2100-12-31 23:59:59',INTERVAL '1:1' MINUTE_SECOND);
+--------------------------------------------------------------+
| DATE_ADD('2100-12-31 23:59:59',INTERVAL '1:1' MINUTE_SECOND) |
+--------------------------------------------------------------+
| -- :: |
+--------------------------------------------------------------+
row in set (0.00 sec)
流程函数也是很常用的一类函数,用户可以使用这类函数在一个SQL语句中实现条件选择,这样做能够提高语句的效率。

举例:
现在有员工工资表如下:
mysql> select * from salary;
+----+---------+
| id | salary |
+----+---------+
| | 1000.00 |
| | 2000.00 |
| | 3000.00 |
| | 4000.00 |
| | 5000.00 |
| | 6000.00 |
| | 7000.00 |
| | NULL |
+----+---------+
rows in set (0.00 sec)
(1)当工资高于5000就显示高工资,低于5000的就显示低工资:
mysql> select id,if(salary>,'高工资','低工资') as level from salary;
+----+-----------+
| id | level |
+----+-----------+
| | 低工资 |
| | 低工资 |
| | 低工资 |
| | 低工资 |
| | 低工资 |
| | 高工资 |
| | 高工资 |
| | 低工资 |
+----+-----------+
rows in set (0.00 sec)
(2)当没有工资的时候,用0代替:
mysql> select ifnull(salary,) from salary;
+------------------+
| ifnull(salary,) |
+------------------+
| 1000.00 |
| 2000.00 |
| 3000.00 |
| 4000.00 |
| 5000.00 |
| 6000.00 |
| 7000.00 |
| 0.00 |
+------------------+
rows in set (0.00 sec)
(3)用case when来实现例子:
mysql> select id,case when salary> then '高工资' else '低工资' end from salary;
+----+-------------------------------------------------------------+
| id | case when salary> then '高工资' else '低工资' end |
+----+-------------------------------------------------------------+
| | 低工资 |
| | 低工资 |
| | 低工资 |
| | 低工资 |
| | 低工资 |
| | 高工资 |
| | 高工资 |
| | 低工资 |
+----+-------------------------------------------------------------+
rows in set (0.00 sec)
(4)当工资是1000的为特低工资,工资为2000的为低工资,其余为高工资:
mysql> select id,case salary when then '特低工资' when then '低工资' else '高工资' end from salary;
+----+-------------------------------------------------------------------------------------------+
| id | case salary when then '特低工资' when then '低工资' else '高工资' end |
+----+-------------------------------------------------------------------------------------------+
| | 特低工资 |
| | 低工资 |
| | 高工资 |
| | 高工资 |
| | 高工资 |
| | 高工资 |
| | 高工资 |
| | 高工资 |
+----+-------------------------------------------------------------------------------------------+
rows in set (0.00 sec)
其他函数

MySQL内置的函数还有很多,这里就不一一介绍了,具体的可以参考官方的文档,里面也有举了很多。
下面再来谈下平时可能用的比较少的自定义函数,自定义函数语法如下:
CREATE FUNCTION func_name([parameter1,parameter2...])
RETURNS type
runtime_body
下面就来创建一个函数,比如自定义一个两个整数的加法函数:
DELIMITER $
CREATE FUNCTION mysum(n1 INT,n2 INT) RETURNS INT
BEGIN
DECLARE num int DEFAULT 0;
SET num = n1 + n2;
RETURN(NUM);
END $
DELIMITER ;
执行函数使用select即可:
mysql> SELECT mysum(1,2);
+------------+
| mysum(1,2) |
+------------+
| 3 |
+------------+
row in set (0.00 sec)
删除自定函数使用:
DROP FUNCTION func_name
比如删除上面创建的函数:
mysql> drop function mysum;
Query OK, 0 rows affected (0.00 sec)
Mysql常用函数总结(二)的更多相关文章
- mysql常用函数参考
mysql常用函数参考 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...
- 学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)
学生选课数据库SQL语句45道练习题: 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...
- MySQL常用函数介绍
MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...
- MySql常用函数大全
MySql常用函数大全 MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操 ...
- Mysql 常用函数(15)- upper 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html upper 的作用 将所有字符串更改为大写,然后返 ...
- 第十章 MySQL 常用函数
第十章 MySQL 常用函数 第一节:日期和时间函数 1,CURDATE() 返回当前日期:2,CURTIME() 返回当前时间:3,MONTH(d) 返回日期 d 中的月份值,范围是 1~12 第二 ...
- 【数据库】MySql常用函数梳理
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5866388.html MySql常用函数梳理: 1:数学函数 使用格式:一般用于插入.修改语句中,直接 函数( ...
- MySQL 常用函数介绍
MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...
- Mysql 常用函数(1)- 常用函数汇总
Mysql常用函数的汇总,可看下面系列文章 Mysql常用函数有哪几类 数值型函数 字符串型函数 日期时间函数 聚合函数 流程控制函数 数值型函数 函数名称 作用 ABS 求绝对值 SQRT 求二次方 ...
随机推荐
- css概括
CSS:美化页面 层叠样式表 修改标签样式 1.分类:内联 内嵌 外部引用 (1)内联: 写在标签里面,以属性的形式表现 属性名为style (2)内嵌:写在head标签里面,以标签 ...
- Cura - CuraEngine - 架构分析
参考: https://blog.csdn.net/justdoithai/article/details/52746094
- SELECT版FTP
功能: 1.使用SELECT或SELECTORS模块实现并发简单版FTP 2.允许多用户并发上传下载文件环境: python 3.5特性: select 实现并发效果运行: get 文件名 #从服务器 ...
- git cmd 命令在已有的仓库重新添加新的文件夹
正确步骤: 1. git init //初始化仓库 git add .(文件name) //添加文件到本地仓库 git commit -m “first commit” //添加文件描述信息 git ...
- 对 UDP 的一些思考
先放两个链接 快速可靠协议-KCP 可靠 UDP 传输 最近在玩王者荣耀,发觉两件事: 1. 可以 4G 和 wifi 无痛切换 2. 当网络不好的时候,发出去的消息并不保证到达服务器.比如你在很卡的 ...
- 一致性hash理解、拜占庭将军问题解读和CAP理论总结
一致性hash理解 白话概述: 比如说存储图片,有10台服务器用来存储,对图片名进行hash(pic_name)%10得到的值就是图片存放的服务器序号.这是正常的hash算法分散图片存储.但是有一天, ...
- 彻底理解Java中的基本数据类型转换(自动、强制、提升)
说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间的转换关系. 自动类型转换 自 ...
- 大数据项目相关技术栈(Hadoop周边技术)
J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...
- 抽象语法树(AST)
AST描述 在计算机科学中,抽象语法树(AST)或语法树是用编程语言编写的源代码的抽象语法结构的树表示.树的每个节点表示在源代码中出现的构造.语法是“抽象的”,因为它不代表真实语法中出现的每个细节,而 ...
- undefined 和 undeclared 的区别
var a; //undefined b; // b is not defined 区别:在变量作用域中已经申明但没有赋值的变量(如 a),是undefined.相反,在变量作用域中没有申明过的变量, ...