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

下面来说一下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. ubuntu下签名命令

    Platform: RockchipOS: Android 6.0Kernel: 3.10.92 拷贝签名文件/signapk.jar和apk到同一目录下. 签名文件:rk3288/build/tar ...

  2. C++基础笔记(string截取)

    #include <iostream> #include <string> using namespace std; int main(int argc, char* argv ...

  3. Python学习第一章

    1.Python保留字即是关键字,我们不可以把他们当作任何标识符名称. python的标准库提供了一个keyword模板,可以输出当前版本的关键字: >>>import keywor ...

  4. [ 10.03 ]CF每日一题系列—— 534B贪心

    Descripe: 贪心,贪在哪里呢…… 给你初始速度,结尾速度,行驶秒数,每秒速度可变化的范围,问你行驶秒数内最远可以行驶多少距离 Solution: 贪心,我是否加速,就是看剩下的时间能不能减到原 ...

  5. centos7系统下,配置学校客户端网络记录

    存在的情况 1.学校的网络客户端绑定了个人的电脑MAC地址.绑定了IP地址. 2.我有两台笔记本,一台用了4年多,想用这台(B)直接装centos7系统,然后新买的笔记本(A)做为经常用的,系统为wi ...

  6. 项目中使用同一dll的不同版本

    在一个项目中,因为使用了一些插件,这些插件使用了不同版本的log4net,有1.2版本,有2.0版本的.当运行的时候发生冲突. 解决办法:在config中加入如下的配置 <dependentAs ...

  7. SpringBoot swagger-ui.html 配置类继承 WebMvcConfigurationSupport 类后 请求404

    1 .SpringBoot启动类加上  注解 @EnableWebMvc @SpringBootApplication@EnableWebMvc public class Application { ...

  8. Scala + IntelliJ IDEA

    学习路上的新起点:大数据Scala + Spark +(HDFS + HBase),本文主要介绍下Scala的基本语法和用法吧.最后再简单介绍一种Java开发工具IntelliJ IDEA的使用. S ...

  9. Linux - 参考链接

    01 - Linux系统监控的Shell脚本 常用的主机监控Shell脚本 使用Shell脚本对Linux系统和进程资源进行监控 02 - Linux系统结构 Linux 系统结构详解 03 - Li ...

  10. JAVA中byte为负数处理

    java中一定有人遇见过byte取值为负数情况,比如0xc0对应的值-64,其实应该是192,这里就需要我们转化处理 /** * Description: 负数byte转正int <BR> ...