mysql 的时间操作函数

来源:互联网 发布:淘宝企业店铺推广 编辑:程序博客网 时间:2024/03/29 22:19

TIMESTAMPDIFF

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

  1. FRAC_SECOND。表示间隔是毫秒
  2. SECOND。秒
  3. MINUTE。分钟
  4. HOUR。小时
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. YEAR。年
//关闭时间 和当前时间相差分钟TIMESTAMPDIFF(SECOND,closed_time,now()) < 180

TIMESTAMPADD

TIMESTAMPADD(interval,int_expr,datetime_expr)
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。

 mysql> select TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00');   // 将“2017-03-24 09:00:00“增加 8820 分钟 +-------------------------------------------------+    | TIMESTAMPADD(MINUTE,8820,'2017-03-24 09:00:00') |   +-------------------------------------------------+    | 2017-03-30 12:00:00                             |    +-------------------------------------------------+    1 row in set (0.00 sec)  

from_unixtime

from_unixtime函数 用于将Unix 时间戳格式化为日常的时间格式

date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串
后面的 ‘%Y%m%d’ 主要是将返回值格式化

mysql>SELECT FROM_UNIXTIME( 1195488000, '%Y%m%d' )    ->20071120  mysql>SELECT FROM_UNIXTIME( 1195488000, '%Y年%m月%d' )   ->20071120  

UNIX_TIMESTAMP

UNIX_TIMESTAMP()是与之相对正好相反的时间函数 ,用于将字符串转化为时间戳
若无参数调用,则返回一个 Unix timestamp (‘1970-01-01 00:00:00’ GMT 之后的秒数) 作为无符号整数
例如:

mysql> SELECT UNIX_TIMESTAMP('2007-11-20') ;  ->1195488000  

DATE_FORMAT

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

DATE_FORMAT(date,format)//date 参数是合法的日期。format 规定日期/时间的输出格式。DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')DATE_FORMAT(NOW(),'%m-%d-%Y')DATE_FORMAT(NOW(),'%d %b %y')DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635

mysql日期加减

date_add()

MySQL 为日期增加一个时间间隔:date_add()

set @dt = now();select date_add(@dt, interval 1 day);   - 加1天select date_add(@dt, interval 1 hour);   -加1小时select date_add(@dt, interval 1 minute);    - 加1分钟select date_add(@dt, interval 1 second); -加1秒select date_add(@dt, interval 1 microsecond);-加1毫秒select date_add(@dt, interval 1 week);-加1周select date_add(@dt, interval 1 month);-加1月select date_add(@dt, interval 1 quarter);-加1季select date_add(@dt, interval 1 year);-加1年//SELECT @cdate := date_add(@cdate, INTERVAL -30 SECOND);-减去30秒
mysql> set @dt = '2009-09-09 12:12:33';mysql>mysql> select date_add(@dt, interval '01:15:30' hour_second);-加上1小时15分30秒date_add(@dt, interval '01:15:30' hour_second)

结果:2009-09-09 13:28:03

/**set @dt = now(); 也可以写为 select @dt:=now();mysql 变量1.用户变量:以"@"开始,形式为"@变量名"用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效2.全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名  或者  set @@global.变量名 对所有客户端生效。只有具有super权限才可以设置全局变量变量参考:http://www.cnblogs.com/wangtao_20/archive/2011/02/21/1959734.html**/

date_sub()

MySQL 为日期减去一个时间间隔:date_sub();

MySQL date_sub() 日期时间函数 和date_add() 用法一致,不再赘述。

mysql 时间函数

YEAR(time)
返回time的年份

MONTH(time)
返回time的月份(范围是1到12)

DAY(time)
返回time的日期(范围是1到31)

HOUR(time)
返回time的小时(范围是0到24)

MINUTE(time)
返回time的分钟数(范围是0到59)

SECOND(time)
返回time的秒数(范围是0到59)

ROUND() 函数

ROUND(X,D)
此函数返回x舍入到最接近的整数。如果第二个参数,D有提供,则函数返回x四舍五入至第D位小数点。D必须是正数或全部右边小数点的数字将被删除。

参考:http://blog.csdn.net/bigbird2012/article/details/6591226
http://www.w3school.com.cn/sql/func_date_format.asp
http://www.2cto.com/database/201110/107788.html

1 0
原创粉丝点击