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
Mysql学习笔记(五)数学与日期时间函数的更多相关文章
- MySQL学习笔记五:数据类型
MySQL支持多种数据类型,大致可以分为数值,日期/时间和字符类型. 数值类型 MySQL支持所有标准SQL数值数据类型,包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUM ...
- Java8学习笔记(九)--日期/时间(Date Time)API指南
Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容 ...
- Mysql基本类型(五种年日期时间类型)——mysql之二
转自:<MySQL技术内幕:时间和日期数据类型> http://tech.it168.com/a2012/0904/1393/000001393605_all.shtml
- MySQL学习笔记(五):MySQL表级锁和行级锁
一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...
- mysql学习笔记五 —— MHA
MySQL_MHA ABB(主从复制)-->MHA(实现mysql高可用.读写分离.脚本控制vip飘逸)-->haproxy(对slave集群实现分发,负载均衡)-->keepali ...
- MySQL学习笔记:创建整年日期
见识到另外一种创意,惊讶! 1.创建小数据表 0-9 # 创建小数据表 DROP TABLE IF EXISTS aa_numbers_small; CREATE TABLE aa_numbers_s ...
- MySql学习笔记(五) —— 存储过程
存储过程是MySql 5支持的特性,它是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之 ...
- Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)
学习内容:存储程序与函数...这一章学的我是云里雾里的... 1.存储过程... Mysql存储过程是从mysql 5.0开始增加的一个新功能.存储过程的优点其实有很多,不过我觉得存储过程最重要的 ...
- MySQL学习笔记九:存储过程,存储函数,触发器
存储过程 1.存储过程由一组特定功能的SQL语句组成,对于大型应用程序优势较大,相对不使用存储过程,具有以下优点: a.性能提高,因为存储过程是预编译的,只需编译一次,以后调用就不须再编译 b.重用性 ...
随机推荐
- Eclipse Maven to create Struts2 Project
Follow the guide in this page: http://blog.csdn.net/topwqp/article/details/8882965 problem met : Des ...
- Java 时间和字符换的处理
/** * * @param timeStr 时间字符串 * @param diff 与起始值差距,单位为毫秒 * @throws ParseException */ public String de ...
- python 与数据结构
在上面的文章中,我写了python中的一些特性,主要是简单为主,主要是因为一些其他复杂的东西可以通过简单的知识演变而来,比如装饰器还可以带参数,可以使用装饰类,在类中不同的方法中调用,不想写的太复杂, ...
- 如何配置ssh免密码登录
[TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...
- 移动应用安全开发指南(Android)--完结篇(http://www.bubuko.com/infodetail-577312.html)
1.认证和授权 概述 认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但也有的APP出于性能提升或用户体验等原因,将其做在客户端完成, ...
- 安装mmseg出错 config.status: error: cannot find input file: src/Makefile.in
aclocallibtoolize --forceautomake --add-missingautoconfautoheadermake clean
- JS实现移动端图片延迟加载
图片延迟加载常见的有,jquery.lazyload.js,原生JS实现的echo.js.但是都是必须给图片设置宽高. 因为项目是移动端,而且无法在加载前知道图片的宽高,所以,只好自己写了一个. 既然 ...
- JQuery 表格拖动调整列宽效果
类似于桌面程序中的表格拖动表头的效果,当鼠标停留在表头边框线上时,鼠标会变成表示左右拖动的形状,接着拖动鼠标,会在表格中出现一条随鼠标移动的竖线,最后放开鼠标,表格列宽会被调整.最近比较空闲,便自己动 ...
- React 根据官方总结的规范
1.语法上,根据生命周期方法执行的顺序编写代码 (1 生命周期方法[getDefaultProps, getInitialState, componentWillMount, componentDid ...
- Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...