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

 

posted @   代码丶如风  阅读(1049)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示