好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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学习笔记(五)数学与日期时间函数的详细内容...

  阅读:25次