Mysql学习笔记(五)数学与日期时间函数

原文:Mysql学习笔记(五)数学与日期时间函数

学习内容:

1.数学函数

2.日期时间函数

这些函数都是很常用的函数...在这里进行简单的介绍...

数学函数:

mysql> SELECT ABS(-32); //取绝对值函数
        -> 32
这个函数可安全地使用于 BIGINT 值。 

mysql> SELECT SIGN(-32);//判断一个数是正数,负数,还是0.。根据实际情况返回指定的数值..
        -> -1

mysql> SELECT MOD(234, 10);//取模函数...
        -> 4

mysql> SELECT FLOOR(1.23);//返回不大于给出数的最大整数值
        -> 1

mysql> SELECT CEILING(1.23);//返回不小于这个数的整数值
        -> 2

mysql> SELECT ROUND(-1.23);//四舍五入函数
        -> -1

mysql> SELECT 5 DIV 2//整除函数
    -> 2

mysql> SELECT EXP(2);//返回指数e的指定次方
        -> 7.389056

mysql> SELECT LN(2);//返回给出数的自然对数
        -> 0.693147

mysql> SELECT LOG(2);//返回给出数的自然对数
        -> 0.693147

mysql> SELECT POW(2,2);//返回x数的y次幂,并且返回值为浮点类型..
        -> 4.000000

mysql> SELECT RAND();//随机产生一个0-1的小数..
        -> 0.9233482386203

mysql> SELECT RADIANS(90);//将一个数转换为弧度
        -> 1.570796

只是一些常用的数学函数...

日期与时间函数

简单的介绍几个函数...很常用的就不进行举例了...

Week(date) <==>Week(date,first)这个函数用来返回给定日期的周数...这个函数根据给定的first来确定返回数值的实际范围...

   值                 含义
   0 一周以星期天开始,返回值的范围为0-53
   1 一周以星期一开始,返回值的范围为0-53
   2 一周以星期日开始,返回值的范围为1-53
   3 一周以星期一开始,返回值的范围为1-53(iso 8601)

 

 

 

 

 

 

Period_add(p,n)增加N各月到指定的日期值中,并返回日期值...

mysql> SELECT PERIOD_ADD(9801,2);
        -> 199803

Period(p1,p2)返回p1-p2之间的月数..

mysql> SELECT PERIOD_DIFF(9802,199703);
        -> 11

date_add(date,Interval expr type)<==>adddate(date,Interval expr type)

date_sub(date,Interval expr type)<==>subdate(date,Interval expr type)

这两个函数根据给定的日期date,按照expr指定的规则对date进行修改....type是一个关键字,它指定表达式以何种格式被解释...

type值 expr期望的格式
second seconds
minute minutes
hour hours
day days
month months
year years
minute_second "minute:second"
hour_minute "hour:minute"
day_hour "days:hour"
year_month "year-month"
hour_second "hours:minutes:second"
day_minute "days:hours:minutes"
day_second "days hours:minute:second"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
        -> 1998-01-01 00:00:00
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
       -> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
    ->                 INTERVAL "1:1" MINUTE_SECOND);
        -> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
    ->                 INTERVAL "1 1:1:1" DAY_SECOND);
        -> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
    ->                 INTERVAL "-1 10" DAY_HOUR);
        -> 1997-12-30 14:00:00

 

date_format(date,format)依照format来初始化date的函数...

 

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
        -> 'Saturday October 1997'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
        -> '22:23:00'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                          '%D %y %a %d %m %b %j');
        -> '4th 97 Sat 04 10 Oct 277'

 

now()<==>sysdate()<==>current_timestamp 取现在的系统时间...

 

mysql> SELECT NOW();
        -> '2015-04-29 11:02:56';

 

sec_to_time(seconds)将分钟转换为正常的时间...

time_to_sec(time) 上述函数的逆置。。。

 

mysql> SELECT SEC_TO_TIME(2378);
        -> '00:39:38'
mysql> SELECT TIME_TO_SEC('22:23:00');
        -> 80580

 

时间: 2024-10-31 12:59:26

Mysql学习笔记(五)数学与日期时间函数的相关文章

Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)

原文:Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别) 学习内容:存储程序与函数...这一章学的我是云里雾里的... 1.存储过程...   Mysql存储过程是从mysql 5.0开始增加的一个新功能.存储过程的优点其实有很多,不过我觉得存储过程最重要的优点就是实现了SQL代码的封装,那么我们为什么需要封装SQL语句呢?原因就是当我们在面对一个庞大的数据库的时候,当我们使用外部程序去访问数据库的时候...我们总不能在外部程序中内嵌很多的SQL语句吧...

Mysql学习笔记(十一)临时表+视图

原文:Mysql学习笔记(十一)临时表+视图 学习内容: 临时表和视图的基本操作... 临时表与视图的使用范围... 1.临时表   临时表:临时表,想必大家都知道这个概念的存在...但是我们什么时候应该使用到临时表呢?当一个数据库存在着大量的数据的时候,我们想要获取到这个数据集合的一个子集,那么我们就可以使用临时表来保存我们想要的数据..然后对临时表进行操作就可以了...使用临时表必然是有原因的..使用临时表会加快数据库的查询性能.... create temporary table tmp_

Mysql学习笔记(一)数据类型

原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m) 一个字节 范围(-128~127)     smallint(m) 两个字节 范围(-32768~32767)     mediumint(m) 三个字节 范围(-8388608~8388607)     int(m) 四个字节 范围(-2147483648~2147483647)     bi

kvm虚拟化学习笔记(五)之windows虚拟机性能调整

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1290682 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linuxkvm虚拟机安装htt

Mysql学习笔记(六)增删改查

原文:Mysql学习笔记(六)增删改查 PS:数据库最基本的操作就是增删改查了... 学习内容: 数据库的增删改查 1.增...其实就是向数据库中插入数据.. 插入语句 insert into table_name values("要插入的数据"); 比如说,我们先创建一个宠物表,用来记录宠物的基本信息以及所有者... create table pet ( name varchar(20), owner varchar(20), species varchar(20), sex cha

Mysql学习笔记(二)数据类型 补充

原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求   String类型: i.char与varchar char与varchar的类型相似,但是他们的保存方式和检索方式不同... char的存储结构是固定长度的存储...即指定了几个字节,那么就占用几个字节,如char(4),那么无论存入的是什么字串,那么都占用四个字节...char的 可表示长度范围为0-255的任何值,当保存的字

Mysql学习笔记(十四)备份与恢复

原文:Mysql学习笔记(十四)备份与恢复 学习内容: 1.数据库的重要数据备份... 2.什么时候需要使用到数据库备份.. 3.如何恢复备份的数据..   1.备份: 说到备份,相比大家都不应该陌生,比如说我们平时在为我们的电脑重新做系统的时候,那么我们保存在电脑里的重要文件我们都需要进行备份..或者是当我们在使用一键还原系统的时候,我们也需要进行备份..那么数据库也不例外,我们需要对数据库里面保存的重要数据进行备份..比如说一个大型的企业,那么必然会有自己的一个大型数据库,那么数据库管理员必

Mysql学习笔记(八)索引

原文:Mysql学习笔记(八)索引 PS:把昨天的学习内容补上...发一下昨天学的东西....五月三日...继续学习数据库... 学习内容: 索引.... 索引的优点: 1.通过创建唯一索引,可以保证数据库每行数据的唯一性... 2.使查找的速度明显加快... 3.当使用分组和排序进行查询时,可以缩短时间... 索引的缺点: 1.维护索引需要耗费数据库的资源... 2.索引需要占用磁盘空间... 3.对表进行增删改的时候,由于索引的存在,时间会有所增加... 索引的分类... 普通索引和唯一索引

kvm虚拟化学习笔记(九)之kvm虚拟机时间配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1291862 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 h