有的时候们需要了解当前的时间,这时候我们就可以调用时间函数了。下面就是一些常用的时间函数

下面来说一下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常用函数总结(二)的更多相关文章

  1. mysql常用函数参考

    mysql常用函数参考   对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...

  2. 学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)

    学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...

  3. MySQL常用函数介绍

    MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...

  4. MySql常用函数大全

    MySql常用函数大全 MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操 ...

  5. Mysql 常用函数(15)- upper 函数

    Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html upper 的作用 将所有字符串更改为大写,然后返 ...

  6. 第十章 MySQL 常用函数

    第十章 MySQL 常用函数 第一节:日期和时间函数 1,CURDATE() 返回当前日期:2,CURTIME() 返回当前时间:3,MONTH(d) 返回日期 d 中的月份值,范围是 1~12 第二 ...

  7. 【数据库】MySql常用函数梳理

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5866388.html MySql常用函数梳理: 1:数学函数 使用格式:一般用于插入.修改语句中,直接 函数( ...

  8. MySQL 常用函数介绍

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  9. Mysql 常用函数(1)- 常用函数汇总

    Mysql常用函数的汇总,可看下面系列文章 Mysql常用函数有哪几类 数值型函数 字符串型函数 日期时间函数 聚合函数 流程控制函数 数值型函数 函数名称 作用 ABS 求绝对值 SQRT 求二次方 ...

随机推荐

  1. qhfl-4 注册-登录-认证

    认证 任何的项目都需要认证,当用户输入了用户名和密码,验证通过,代表用户登录成功 那HTTP请求是无状态的,下次这个用户再请求,是不可能识别这个用户是否登录的 就要有自己的方式来实现这个认证,用户登录 ...

  2. 第一节 —— vue2.0 环境安装,工程化开发

    vue的开发有两种,一种是直接的在script标签里引入vue.js文件即可,这样子引入的话个人感觉做小型的多页面会比较舒坦,一旦做大型一点的项目,还是离不开webpack. 所以另一种方法也就是基于 ...

  3. thinkphp 5.1 同时选中多个文件上传

    <form id="ajaxform" enctype="multipart/form-data" class="form"> ...

  4. jquery监听滚动条

    $(".lx").scroll(function(){ var $this =$(this), viewH =$(this).height(),//可见高度 contentH =$ ...

  5. 【repost】H5总结

    1.新增的语义化标签: <nav>: 导航 <header>: 页眉 <footer>: 页脚 <section>:区块 <article> ...

  6. Android中的EventBus

    1.分析 EventBus是一个针对Android的事件发布和订阅的框架,主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传 ...

  7. 6. ASP.NET MVC 5.0 中的HTML Helper【HTML 帮助类】

    这篇文章,我将带领大家学习HTML Helper.[PS:上一篇-->5.ASP.NET MVC 中的Area[区域]是什么] HTML Helpers是用来创建HTML标签进而创建HTML控件 ...

  8. Javascript模式小记(一)

    js总是可以在不知不觉中地创建了全局变量,其原因在于JavaScript的两个特性. 1.JavaScript可直接使用变量,甚至无需声明: 2.JavaScript有个暗示全局变量的概念,即任何变量 ...

  9. String的substring方法

    string.substring(beginIndex, endIndex) 左闭右开. 测试 public static void main(String[] args) { String a = ...

  10. Mybatis框架二:增删改查

    这里是搭建框架和准备数据: http://www.cnblogs.com/xuyiqing/p/8600888.html 实现增删改查功能: 测试类: package junit; import ja ...