您的位置:首页 > 数据库 > MySQL

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

2015-04-29 11:06 393 查看
学习内容:

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([b]date,Interval expr type) [/b]

date_sub([b]date,Interval expr type)<==>subdate(date,Interval expr type)[/b]

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

type值expr期望的格式
secondseconds
minuteminutes
hourhours
daydays
monthmonths
yearyears
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: