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.重用性 ...
随机推荐
- RecyclerView的使用
什么是RecyclerView RecyclerView是Android 5.0 materials design中的组件之一,相应的还有CardView.Palette等.看名字我们 ...
- Docker实践(6)—CentOS7上部署Kubernetes
Kubernetes架构 Kubernetes的整体架构如下: Master为主控节点,上面运行apiserver,scheduler,controller-manager等组件.Minion相当于工 ...
- CoreOS实践(2)—在coreos上安装Kubernetes
下载kubernetes sudo mkdir -p /opt/bin sudo wget https://storage.googleapis.com/kubernetes/binaries.tar ...
- Build Slic3r on Windows // 如何在Windows上编译Slic3r
下载Strawberry Perl 5.22 64bit绿色版,解压缩到某个地方,比如C盘根目录,比如 C:\strawbrry-perl-5.22.2.1-64bit-portable 下载Boos ...
- uestc_retarded 模板
虽然这个队,以后再也没有了,但是他的模板,是永垂不朽的![误 #include <ext/pb_ds/priority_queue.hpp> __gnu_pbds::priority_qu ...
- redmine v3.02版的安装问题
redmine v3.0.2版的安装问题 参考上次在朋友公司的云主机上安装的过程: 1. 下载 2. gem install bundler 3. bundle install 出现 rmagick ...
- CSS3学习笔记--transform基于原始数据(旋转木马实例)
参考链接:好吧,CSS3 3D transform变换,不过如此! transform-style:preserve-3d属性要在图片所在的容器(父元素)中定义,perspective定义在父子元素上 ...
- 用 Jenkins 打包 iOS
需要安装插件: 1.GIT plugin 2.Xcode integration 1.新建 Job 填入“Item名称”,选择“构建一个自由风格的软件项目”,OK: 2.填入“项目名称” ...
- CSS3实现旋转的太极图(二):只用1个DIV
效果预览: PS: 1.昨天用3个DIV实现了太极图(点击查看),,今天试着用1个Div来做. 2.公司刚忙过双10周年庆,最近空闲下来,闲着也是闲着,总得写点东西吧. 3.高手莫喷,小弟仅仅是没 ...
- 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “知识的工作者必须成为自己时间的首席执行官.” 前言 这次泥瓦匠带来的是一个好玩的基于 JDK ...